KR101146059B1 - Nonvolatile memory system, and data read/write method for nonvolatile memory system - Google Patents

Nonvolatile memory system, and data read/write method for nonvolatile memory system Download PDF

Info

Publication number
KR101146059B1
KR101146059B1 KR1020097002078A KR20097002078A KR101146059B1 KR 101146059 B1 KR101146059 B1 KR 101146059B1 KR 1020097002078 A KR1020097002078 A KR 1020097002078A KR 20097002078 A KR20097002078 A KR 20097002078A KR 101146059 B1 KR101146059 B1 KR 101146059B1
Authority
KR
South Korea
Prior art keywords
data
command
read
write
mode
Prior art date
Application number
KR1020097002078A
Other languages
Korean (ko)
Other versions
KR20090033887A (en
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
Application filed by 가부시끼가이샤 도시바 filed Critical 가부시끼가이샤 도시바
Publication of KR20090033887A publication Critical patent/KR20090033887A/en
Application granted granted Critical
Publication of KR101146059B1 publication Critical patent/KR101146059B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1018Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
    • G11C7/1027Static column decode serial bit line access mode, i.e. using an enabled row address stroke pulse with its associated word line address and a sequence of enabled bit line addresses

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

비휘발성 메모리 시스템은 복수의 데이터 영역을 갖는 비휘발성 메모리; 및 이 비휘발성 메모리에 대한 판독 및 기입 동작을 제어하도록 작용하는 메모리 제어기를 포함한다. 메모리 제어기는 호스트 장치로부터 입력된 명령 및 섹터 카운트 및 섹터 어드레스에 따라 상기 비휘발성 메모리의 선택된 데이터 영역 내의 복수의 섹터에 대한 판독/기입 동작을 연속적으로 실행한다.A nonvolatile memory system includes a nonvolatile memory having a plurality of data areas; And a memory controller operative to control read and write operations to this nonvolatile memory. The memory controller continuously executes read / write operations for a plurality of sectors in the selected data area of the nonvolatile memory in accordance with the command input from the host device and the sector count and sector address.

비휘발성 메모리, 판독, 기입, 메모리 제어기, 호스트, 섹터 Nonvolatile Memory, Read, Write, Memory Controller, Host, Sector

Description

비휘발성 메모리 시스템 및 비휘발성 메모리 시스템을 위한 데이터 판독/기입 방법{NONVOLATILE MEMORY SYSTEM, AND DATA READ/WRITE METHOD FOR NONVOLATILE MEMORY SYSTEM}NONVOLATILE MEMORY SYSTEM, AND DATA READ / WRITE METHOD FOR NONVOLATILE MEMORY SYSTEM}

본 발명은 비휘발성 메모리 및 이 메모리를 위한 판독/기입 제어를 실행하도록 작용하는 메모리 제어기를 포함하는 비휘발성 메모리 시스템, 및 비휘발성 메모리 시스템의 데이터 판독/기입 방법에 관한 것이다.The present invention relates to a nonvolatile memory system comprising a nonvolatile memory and a memory controller operative to perform read / write control for the memory, and a method of reading / writing data in a nonvolatile memory system.

NAND형 플래시 메모리는 EEPROM (eletrically erasable programmable nonvolatile semiconductor memory) 중 하나로 알려져 있다. NAND형 플래시 메모리는 NOR형 보다 단위 셀 면적이 더 작고 대량 저장하기가 용이하다. 셀당 판독/기입 속도는 NOR형 보다 더 느리지만 셀 어레이와 페이지 버퍼 사이에서 동시에 판독/기입 동작을 실행하기에 효과적인 셀 범위 (물리적 페이지 길이)가 신속한 판독/기입 동작을 실질적으로 달성하기 위해 확장될 수 있다.NAND type flash memory is known as one of the EEPROM (eletrically erasable programmable nonvolatile semiconductor memory). NAND-type flash memory has a smaller unit cell area than NOR-type and is easy to mass store. The read / write speed per cell is slower than the NOR type, but the effective cell range (physical page length) for executing read / write operations simultaneously between the cell array and the page buffer can be extended to substantially achieve fast read / write operations. Can be.

이러한 특성의 효과적인 이용을 통해, NAND형 플래시 메모리는 파일 메모리 및 메모리 카드를 포함한 다양한 기록 매체에서 사용되었다. Through the effective use of this feature, NAND type flash memory has been used in various recording media including file memory and memory cards.

메모리 카드 등에서, 비휘발성 메모리 및 메모리 제어기는 함께 패키지화되어 호스트로부터 입력된 명령 및 논리적 어드레스에 따라 비휘발성 메모리에 대한 판독/기입 제어를 실행한다. 예컨대, 논리적 어드레스 및 섹터 카운트가 제안된 바와 같이 복수의 섹터로부터 데이터를 판독하기 위해 호스트로부터 입력된다 (JP 2006/155335 A).In a memory card or the like, the nonvolatile memory and the memory controller are packaged together to execute read / write control for the nonvolatile memory in accordance with commands and logical addresses input from the host. For example, logical addresses and sector counts are input from the host to read data from a plurality of sectors as proposed (JP 2006/155335 A).

일 양태에서 본 발명은 호스트 장치에 접속가능한 비휘발성 메모리 시스템을 제공한다. 이 시스템은 복수의 데이터 영역을 갖는 비휘발성 메모리; 및 이 비휘발성 메모리에 대한 판독 및 기입 동작을 제어하도록 작용하는 메모리 제어기를 포함한다. 메모리 제어기는 호스트 장치로부터 입력된 명령, 섹터 카운트 및 섹터 어드레스에 따라 비휘발성 메모리의 선택된 데이터 영역 내의 복수의 섹터에 대한 판독/기입 동작을 연속적으로 실행한다.In one aspect, the present invention provides a nonvolatile memory system connectable to a host device. The system includes a nonvolatile memory having a plurality of data areas; And a memory controller operative to control read and write operations to this nonvolatile memory. The memory controller continuously executes read / write operations for a plurality of sectors in the selected data area of the nonvolatile memory in accordance with the command, sector count, and sector address input from the host device.

일 양태에서 본 발명은 호스트 장치에 접속가능한 비휘발성 메모리 시스템을 위한 데이터 판독/기입 방법을 제공한다. 이 시스템은 복수의 데이터 영역을 갖는 비휘발성 메모리 및 이 비휘발성 메모리에 대한 판독 및 기입 동작을 제어하도록 작용하는 메모리 제어기를 포함한다. 이 방법은, 명령, 섹터 카운트 및 섹터 어드레스를 호스트 장치로부터 제공하는 단계; 및 메모리 제어기의 제어하에 명령, 섹터 카운트 및 섹터 어드레스에 따라 비휘발성 메모리의 선택된 데이터 영역 내의 복수의 섹터에 대한 판독/기입 동작을 연속적으로 실행하는 단계를 포함한다.In one aspect, the present invention provides a data read / write method for a nonvolatile memory system connectable to a host device. The system includes a nonvolatile memory having a plurality of data regions and a memory controller operative to control read and write operations to the nonvolatile memory. The method includes providing a command, sector count and sector address from a host device; And continuously executing a read / write operation on a plurality of sectors in the selected data area of the nonvolatile memory according to the command, sector count, and sector address under the control of the memory controller.

도 1은 본 발명의 일실시예에 따른 LBA-NAND 메모리 시스템 구성을 예시하는 도면이다.1 is a diagram illustrating an LBA-NAND memory system configuration according to an embodiment of the present invention.

도 2는 LBA-NAND 메모리의 기능 블록을 예시하는 도면이다.2 is a diagram illustrating a functional block of an LBA-NAND memory.

도 3은 LBA-NAND 메모리에서 메모리 셀 어레이 구성을 예시하는 도면이다.3 is a diagram illustrating a memory cell array configuration in an LBA-NAND memory.

도 4는 LBA-NAND 메모리에서 핀 구성을 예시하는 도면이다.4 is a diagram illustrating a pin configuration in the LBA-NAND memory.

도 5는 LBA-NAND 메모리의 핀 명칭 및 기능을 예시하는 도면이다.5 is a diagram illustrating pin names and functions of the LBA-NAND memory.

도 6은 LBA-NAND 메모리에서 기록된 시스템 데이터를 예시하는 도면이다.6 is a diagram illustrating system data written in an LBA-NAND memory.

도 7은 명령과 함께 LBA-NAND 메모리의 동작 모드를 예시하는 도면이다.7 is a diagram illustrating an operation mode of an LBA-NAND memory with instructions.

도 8은 LBA-NAND 메모리의 동작 모드들 사이에서 스위칭하는 일예를 예시하는 도면이다.8 is a diagram illustrating an example of switching between operating modes of an LBA-NAND memory.

도 9는 LBA-NAND 메모리의 동작 모드들 사이에서 스위칭하는 다른 예를 예시하는 도면이다.9 is a diagram illustrating another example of switching between operating modes of an LBA-NAND memory.

도 10은 LBA-NAND 메모리에서 데이터 구조를 예시하는 도면이다.10 is a diagram illustrating a data structure in an LBA-NAND memory.

도 11a는 LBA-NAND 메모리에 대한 명령 구성을 예시하는 도면이다 (부분 1).11A is a diagram illustrating an instruction configuration for an LBA-NAND memory (part 1).

도 11b는 LBA-NAND 메모리에 대한 명령 구성을 예시하는 도면이다 (부분 2).11B is a diagram illustrating an instruction configuration for an LBA-NAND memory (part 2).

도 11c는 LBA-NAND 메모리에 대한 명령 구성을 예시하는 도면이다 (부분 3).11C is a diagram illustrating an instruction configuration for an LBA-NAND memory (part 3).

도 11d는 LBA-NAND 메모리에 대한 명령 구성을 예시하는 도면이다 (부분 4).11D is a diagram illustrating an instruction configuration for an LBA-NAND memory (part 4).

도 11e는 LBA-NAND 메모리에 대한 명령 구성을 예시하는 도면이다 (부분 5).11E is a diagram illustrating an instruction configuration for an LBA-NAND memory (part 5).

도 11f는 LBA-NAND 메모리에 대한 명령 구성을 예시하는 도면이다 (부분 6).11F is a diagram illustrating an instruction configuration for an LBA-NAND memory (part 6).

도 11g는 LBA-NAND 메모리에 대한 명령 구성을 예시하는 도면이다 (부분 7).11G is a diagram illustrating an instruction configuration for an LBA-NAND memory (part 7).

도 11h는 LBA-NAND 메모리에 대한 명령 구성을 예시하는 도면이다 (부분 8).11H is a diagram illustrating an instruction configuration for an LBA-NAND memory (part 8).

도 11i는 LBA-NAND 메모리에 대한 명령 구성을 예시하는 도면이다 (부분 9).11I is a diagram illustrating an instruction configuration for an LBA-NAND memory (part 9).

도 11j는 LBA-NAND 메모리에 대한 명령 구성을 예시하는 도면이다 (부분 10).11J is a diagram illustrating an instruction configuration for an LBA-NAND memory (part 10).

도 12는 LBA-NAND 메모리에 대한 명령 리스트이다.12 is a list of instructions for an LBA-NAND memory.

도 13은 LBA-NAND 메모리에 대한 다양한 신호의 래치 타이밍을 예시하는 도면이다.13 is a diagram illustrating latch timing of various signals for an LBA-NAND memory.

도 14는 동일한 방식으로 명령 입력 주기 타이밍을 예시하는 도면이다.14 is a diagram illustrating command input period timing in the same manner.

도 15는 동일한 방식으로 절전 모드를 위한 명령 입력 주기 타이밍을 예시하는 도면이다.15 is a diagram illustrating command input period timing for a power saving mode in the same manner.

도 16은 동일한 방식으로 데이터 판독 후 명령 입력 타이밍을 예시하는 도면이다.16 is a diagram illustrating command input timing after data reading in the same manner.

도 17은 동일한 방식으로 어드레스 입력 주기 타이밍을 예시하는 도면이다.17 is a diagram illustrating the address input period timing in the same manner.

도 18은 동일한 방식으로 피크 전류 감소 모드에 대한 어드레스 입력 주기 타이밍을 예시하는 도면이다.18 is a diagram illustrating the address input period timing for the peak current reduction mode in the same manner.

도 19는 동일한 방식으로 데이터 입력 타이밍을 예시하는 도면이다.19 is a diagram illustrating data input timing in the same manner.

도 20은 동일한 방식으로 직렬 판독 타이밍을 예시하는 도면이다.20 is a diagram illustrating serial read timing in the same manner.

도 21은 동일한 방식으로 상태 판독 타이밍을 예시하는 도면이다.21 is a diagram illustrating state read timing in the same manner.

도 22는 동일한 방식으로 판독 주기 타이밍을 예시하는 도면이다.22 is a diagram illustrating read cycle timing in the same manner.

도 23은 동일한 방식으로 직렬 EEP 모드 설정 타이밍을 예시하는 도면이다.23 is a diagram illustrating the serial EEP mode setting timing in the same manner.

도 24는 공통 핀을 이용하여 PNR 모드 및 직렬 EEP 모드로부터의 선택의 일예를 예시하는 도면이다.24 is a diagram illustrating an example of selection from a PNR mode and a serial EEP mode using a common pin.

도 25는 오류 검사를 갖는 PNR 모드에서의 타이밍도이다 (1-1).25 is a timing diagram in PNR mode with error checking (1-1).

도 26은 오류 검사를 갖는 PNR 모드에서의 타이밍도이다 (1-2).Fig. 26 is a timing diagram in PNR mode with error checking (1-2).

도 27은 오류 검사를 갖는 PNR 모드에서의 타이밍도이다 (1-3).27 is a timing diagram in PNR mode with error checking (1-3).

도 28은 오류 검사를 갖는 PNR 모드에서의 타이밍도이다 (1-4).28 is a timing diagram in PNR mode with error checking (1-4).

도 29는 오류 검사를 갖는 PNR 모드에서의 타이밍도이다 (1-5).29 is a timing diagram in PNR mode with error checking (1-5).

도 30은 PNR 모드의 흐름도이다.30 is a flowchart of the PNR mode.

도 31은 기본형의 MDA 모드에서 판독 액세스의 타이밍도이다 (1 섹터의 경우).31 is a timing diagram of read access in the basic MDA mode (one sector).

도 32는 기본형의 MDA 모드에서 판독 액세스의 타이밍도이다 (256 섹터의 경우).32 is a timing diagram of read access in the basic MDA mode (for 256 sectors).

도 33은 기본형의 MDA 모드에서 판독 액세스의 타이밍도이다 (64K 섹터의 경우).33 is a timing diagram of read access in the basic MDA mode (for 64K sectors).

도 34는 종료 명령을 이용하여 인터럽트되는 MDA 모드에서 판독의 타이밍도이다.34 is a timing diagram of reading in the MDA mode interrupted using the end command.

도 35는 재전송 요청과 함께 MDA 모드에서 판독의 타이밍도이다.35 is a timing diagram of a read in MDA mode with a retransmission request.

도 36은 종료 명령의 입력 후 새로운 시퀀스가 재시작될 때의 타이밍도이다.36 is a timing diagram when a new sequence is restarted after input of an end command.

도 37은 선택적 판독 유형 B(1)의 MDA 모드에서 판독 액세스의 타이밍도이다.37 is a timing diagram of read access in the MDA mode of optional read type B (1).

도 38은 선택적 판독 유형 B(2)의 MDA 모드에서 판독 액세스의 타이밍도이다.38 is a timing diagram of read access in the MDA mode of optional read type B (2).

도 39는 선택적 판독 유형 B(3)의 MDA 모드에서 판독 액세스의 타이밍도이다.39 is a timing diagram of read access in the MDA mode of optional read type B (3).

도 40은 선택적 판독 유형 B(4)의 MDA 모드에서 판독 액세스의 타이밍도이다.40 is a timing diagram of read access in MDA mode of optional read type B (4).

도 41은 선택적 판독 유형 C(1)의 MDA 모드에서 판독 액세스의 타이밍도이다.Fig. 41 is a timing diagram of read access in MDA mode of selective read type C (1).

도 42는 선택적 판독 유형 C(2)의 MDA 모드에서 판독 액세스의 타이밍도이다.42 is a timing diagram of read access in MDA mode of optional read type C (2).

도 43은 선택적 판독 유형 C(3)의 MDA 모드에서 판독 액세스의 타이밍도이다.43 is a timing diagram of read access in MDA mode of optional read type C (3).

도 44는 선택적 판독 유형 C(4)의 MDA 모드에서 판독 액세스의 타이밍도이다.44 is a timing diagram of read access in MDA mode of optional read type C (4).

도 45는 불법 액세스가 발생할 때 MDA 모드에서 판독의 타이밍도이다 (경우 1).45 is a timing diagram of readings in the MDA mode when illegal access occurs (case 1).

도 46은 불법 액세스가 발생할 때 MDA 모드에서 판독의 타이밍도이다 (경우 2).46 is a timing diagram of readings in the MDA mode when illegal access occurs (case 2).

도 47은 MDA 모드에서 기입 액세스의 타이밍도이다 (1 섹터의 경우).47 is a timing diagram of write access in the MDA mode (one sector).

도 48은 MDA 모드에서 기입 액세스의 타이밍도이다 (256 섹터의 경우).48 is a timing diagram of write access in the MDA mode (for 256 sectors).

도 49는 MDA 모드에서 기입 액세스의 타이밍도이다 (64K 섹터의 경우).49 is a timing diagram of write access in the MDA mode (for 64K sectors).

도 50은 종료 명령을 이용하여 인터럽트되는 MDA 모드에서 기입 액세스의 타 이밍도이다.50 is a timing diagram of write access in the MDA mode interrupted using an end command.

도 51은 데이터 재전송과 함께 MDA 모드에서 기입 액세스의 타이밍도이다.51 is a timing diagram of write access in MDA mode with data retransmission.

도 52는 MDA 모드 기입시 기입 오류의 종류를 예시하는 도면이다.Fig. 52 is a diagram illustrating the types of write errors when writing MDA mode.

도 53은 선택적 기입 유형의 MDA 모드 기입의 타이밍도이다.53 is a timing diagram of MDA mode write of selective write type.

도 54는 불법 액세스가 발생할 때 MDA 모드 기입의 타이밍도이다 (경우 1).54 is a timing diagram of MDA mode write when illegal access occurs (case 1).

도 55는 불법 액세스가 발생할 때 MDA 모드 기입의 타이밍도이다 (경우 2).55 is a timing diagram of MDA mode write when illegal access occurs (case 2).

도 56은 기본형의 PNA 모드에서 판독 액세스의 타이밍도이다.56 is a timing diagram of read access in the basic PNA mode.

도 57은 종료 명령을 이용하여 인터럽트되는 PNA 모드에서 판독 액세스의 타이밍도이다.57 is a timing diagram of a read access in a PNA mode interrupted using an end command.

도 58은 재판독과 함께 PNA 모드에서 판독 액세스의 타이밍도이다.58 is a timing diagram of read access in PNA mode with reread.

도 59는 선택적 판독 유형 B(1)의 PNA 모드에서 판독 액세스의 타이밍도이다.59 is a timing diagram of read access in the PNA mode of the optional read type B (1).

도 60은 선택적 판독 유형 B(2)의 PNA 모드에서 판독 액세스의 타이밍도이다.60 is a timing diagram of a read access in PNA mode of optional read type B (2).

도 61은 선택적 판독 유형 B(3)의 PNA 모드에서 판독 액세스의 타이밍도이다.Fig. 61 is a timing diagram of read access in the PNA mode of the optional read type B (3).

도 62는 선택적 판독 유형 B(4)의 PNA 모드에서 판독 액세스의 타이밍도이다.62 is a timing diagram of read access in PNA mode of optional read type B (4).

도 63은 선택적 판독 유형 C(1)의 PNA 모드에서 판독 액세스의 타이밍도이다.63 is a timing diagram of read access in PNA mode of optional read type C (1).

도 64는 선택적 판독 유형 C(2)의 PNA 모드에서 판독 액세스의 타이밍도이다.64 is a timing diagram of read access in PNA mode of optional read type C (2).

도 65는 선택적 판독 유형 C(3)의 PNA 모드에서 판독 액세스의 타이밍도이다.65 is a timing diagram of read access in the PNA mode of optional read type C (3).

도 66은 PNA 모드에서 판독 액세스의 타이밍도이다.66 is a timing diagram of read access in the PNA mode.

도 67은 종료 명령을 이용하여 인터럽트되는 PNA 모드에서 기입 액세스의 타이밍도이다.67 is a timing diagram of write access in the PNA mode interrupted using the end instruction.

도 68은 전송 오류와 연관된 데이터 재전송시 PNA 모드에서 기입 액세스의 타이밍도이다.68 is a timing diagram of write access in PNA mode upon data retransmission associated with a transmission error.

도 69는 선택적 기록 유형의 PNA 모드에서 기입 액세스의 타이밍도이다.69 is a timing diagram of write access in the PNA mode of the optional write type.

도 70은 기본 기입 유형의 VFA 모드에서 기입 액세스의 타이밍도이다.70 is a timing diagram of write access in the VFA mode of a basic write type.

도 71은 종료 명령을 이용하여 인터럽트되는 VFA 모드에서 판독의 타이밍도이다.71 is a timing diagram of reading in the VFA mode interrupted using the end command.

도 72는 재판독을 위한 VFA 모드에서 판독 액세스의 타이밍도이다.72 is a timing diagram of read access in the VFA mode for rereading.

도 73은 선택적 판독 유형 B(1)의 VFA 모드에서 판독 액세스의 타이밍도이다.73 is a timing diagram of read access in the VFA mode of optional read type B (1).

도 74는 선택적 판독 유형 B(2)의 VFA 모드에서 판독 액세스의 타이밍도이다.74 is a timing diagram of read access in the VFA mode of optional read type B (2).

도 75는 선택적 판독 유형 B(3)의 VFA 모드에서 판독 액세스의 타이밍도이다.75 is a timing diagram of read access in the VFA mode of optional read type B (3).

도 76은 선택적 판독 유형 B(4)의 VFA 모드에서 판독 액세스의 타이밍도이다.76 is a timing diagram of read access in the VFA mode of optional read type B (4).

도 77은 선택적 판독 유형 C(1)의 VFA 모드에서 판독 액세스의 타이밍도이다.77 is a timing diagram of read access in the VFA mode of optional read type C (1).

도 78은 선택적 판독 유형 C(2)의 VFA 모드에서 판독 액세스의 타이밍도이다.78 is a timing diagram of read access in the VFA mode of optional read type C (2).

도 79는 선택적 판독 유형 C(3)의 VFA 모드에서 판독 액세스의 타이밍도이다.79 is a timing diagram of read access in the VFA mode of optional read type C (3).

도 80은 VFA 모드에서 기입 액세스의 타이밍도이다 (1 섹터).80 is a timing diagram of write access in the VFA mode (one sector).

도 81은 VFA 모드에서 기입 액세스의 타이밍도이다 (256 섹터).81 is a timing diagram of write access in the VFA mode (256 sectors).

도 82는 종료 명령을 이용하여 인터럽트되는 VFA 모드에서 기입 액세스의 타이밍도이다.82 is a timing diagram of write access in a VFA mode interrupted using an end instruction.

도 83은 오류 복구와 함께 VFA 모드에서 기입 액세스의 타이밍도이다.83 is a timing diagram of write access in VFA mode with error recovery.

도 84는 선택적 기입 유형의 VFA 모드에서 기입 액세스의 타이밍도이다.84 is a timing diagram of write access in the VFA mode of selective write type.

도 85는 오류 처리를 포함하는 PNR 모드에서의 흐름을 예시하는 도면이다.85 is a diagram illustrating a flow in a PNR mode including error processing.

도 86은 판독 액세스시 오류 처리를 포함하는 PNR, VFA, MDA 모드에서의 흐름을 예시하는 도면이다.86 is a diagram illustrating a flow in PNR, VFA, MDA modes including error processing in read access.

도 87은 기입 액세스시 오류 처리를 포함하는 PNR, VFA, MDA 모드에서의 흐름을 예시하는 도면이다.87 is a diagram illustrating a flow in PNR, VFA, and MDA modes including error processing in write access.

도 88은 임의의 모드를 MDA 모드로 변경하기 위한 변경 명령의 실행의 타이 밍도이다.88 is a timing diagram of execution of a change command for changing an arbitrary mode to an MDA mode.

도 89는 임의의 모드를 PNA 모드로 변경하기 위한 변경 명령의 실행의 타이밍도이다.89 is a timing diagram of execution of a change command for changing an arbitrary mode to the PNA mode.

도 90은 임의의 모드를 VFA 모드로 변경하기 위한 변경 명령의 실행의 타이밍도이다.90 is a timing diagram of execution of a change instruction for changing any mode to the VFA mode.

도 91은 NOP 명령의 등록의 타이밍도이다.91 is a timing diagram of registration of a NOP instruction.

도 92는 다른 NOP 명령의 등록의 타이밍도이다.92 is a timing diagram of registration of another NOP instruction.

도 93은 펌웨어 리로드(reload) 명령과 연관된 동작의 타이밍도이다.93 is a timing diagram of an operation associated with a firmware reload command.

도 94는 비지/레디 (Busy/Ready) 변경 명령의 타이밍도이다.94 is a timing diagram of a busy / ready change command.

도 95는 ID 판독 명령의 타이밍도이다.95 is a timing diagram of an ID read command.

도 96은 상태 판독 명령의 타이밍도이다.96 is a timing diagram of a status read command.

도 97은 패스워드 설정 명령의 타이밍도이다.97 is a timing diagram of a password setting command.

도 98은 VFA 장치 설정 명령의 타이밍도이다.98 is a timing diagram of a VFA device setting command.

도 99는 펌웨어 업데이트 실행 명령의 타이밍도이다.99 is a timing diagram of a firmware update execution command.

도 100은 어드레스 리셋 명령의 타이밍도이다.100 is a timing diagram of an address reset command.

도 101은 펌웨어 리로드 명령의 타이밍도이다.101 is a timing diagram of a firmware reload command.

도 102는 판독/기입 종료 명령의 타이밍도이다.102 is a timing diagram of a read / write end command.

도 103은 펌웨어 업데이터 전송 명령의 타이밍도이다.103 is a timing diagram of a firmware updater transfer command.

도 104는 호스트 I/O와 LBA-NAND 메모리 내부 동작 사이의 관계를 예시하는 도면이다.104 is a diagram illustrating the relationship between host I / O and LBA-NAND memory internal operations.

도 105는 펌웨어 업데이트시 오류 처리의 흐름을 예시하는 도면이다.105 is a diagram illustrating a flow of error processing at firmware update.

도 106은 데이터 리프레시 실행 명령의 타이밍도이다.106 is a timing diagram of a data refresh execution command.

도 107은 MDA 영역 소거 명령의 타이밍도이다.107 is a timing diagram of an MDA area erase command.

도 108은 플래시 캐시 실행 명령의 타이밍도이다.108 is a timing diagram of a flash cache execution command.

도 109는 전송 프로토콜 설정 명령의 타이밍도이다.109 is a timing diagram of a transport protocol setting command.

도 110은 최소 비지 타임 설정 명령의 타이밍도이다.110 is a timing diagram of a minimum busy time setting command.

도 111은 절전 모드 설정 명령의 타이밍도이다.111 is a timing diagram of a power saving mode setting command.

도 112는 절전 모드 설정 명령이 적용되는 판독의 타이밍도이다.112 is a timing diagram of a read to which a power saving mode setting command is applied.

도 113은 절전 모드 설정 명령이 적용되는 명령 래치의 타이밍도이다.113 is a timing diagram of an instruction latch to which a power saving mode setting command is applied.

도 114는 절전 모드 종료 명령의 타이밍도이다.114 is a timing diagram of a power saving mode end command.

도 115는 어드레스 정보 획득 명령의 타이밍도이다.115 is a timing diagram of an address information acquisition command.

도 116은 최대 용량 정보 획득 명령의 타이밍도이다.116 is a timing diagram of a maximum capacity information acquisition command.

도 117은 핀 정보 획득 명령의 타이밍도이다.117 is a timing diagram of a pin information acquisition command.

도 118은 판독 재시도 명령과 연관한 판독의 타이밍도이다.118 is a timing diagram of a read associated with a read retry command.

도 119는 상태 정보 판독이 수반된 섹터 판독 유형 A의 타이밍도이다.119 is a timing diagram of sector read type A with status information read.

도 120은 상태 정보 판독이 수반된 섹터 판독 유형 B의 타이밍도이다.120 is a timing diagram of sector read type B with status information read.

도 121은 상태 정보 판독이 수반된 섹터 판독 유형 C의 타이밍도이다.121 is a timing diagram of sector read type C with status information read.

도 122는 상태 정보 판독이 수반된 섹터 기입 유형 A의 타이밍도이다.122 is a timing diagram of sector write type A with state information reading.

도 123은 상태 정보 판독이 수반된 섹터 기입 유형 B의 타이밍도이다.123 is a timing diagram of sector write type B with state information reading.

도 124는 PNR 모드에서 상태 정보 판독의 동작을 설명하는 도면이다.124 is a diagram for explaining the operation of status information reading in the PNR mode.

도 125는 VFA/MDA 모드에서 상태 정보 판독의 동작을 설명하는 도면이다.125 is a view for explaining the operation of status information reading in the VFA / MDA mode.

도 126은 부팅 코드 유지 모드에서 상태 정보 판독의 동작을 설명하는 도면이다.126 is a view for explaining operation of status information reading in the boot code holding mode.

도 127은 LBA-NAND 메모리의 각 동작 모드, 및 웨이브 모드 스위칭을 집합적으로 도시하는 도면이다.FIG. 127 is a diagram collectively showing each operation mode and wave mode switching of the LBA-NAND memory.

본 발명의 실시예들에 대해 첨부 도면을 참조하여 이하에서 설명하기로 한다.Embodiments of the present invention will be described below with reference to the accompanying drawings.

[메모리 시스템 개요][Memory System Overview]

본 실시예의 비휘발성 메모리 시스템은, 단일 또는 복수의 NAND형 플래시 메모리 및 이 메모리에 대한 판독/기입 제어를 실행하도록 작용하는 메모리 제어기를 포함하는 메모리 모듈에서 구성된다. 장착된 모든 플래시 메모리는 이하 논리적 블록 어드레스 NAND 플래시 메모리 (Logical Block Address NAND flash memory: 이하 LBA-NAND 메모리로 약칭)라고 하는 논리적 메모리로서 단일의 메모리 제어기로부터 제어될 수 있다.The nonvolatile memory system of this embodiment is configured in a memory module including a single or a plurality of NAND type flash memory and a memory controller operative to execute read / write control on the memory. All mounted flash memories can be controlled from a single memory controller as logical memory referred to as Logical Block Address NAND flash memory (hereinafter abbreviated as LBA-NAND memory).

LBA-NAND 메모리는 명령에 따라 변경가능한 복수의 데이터 영역 (논리적 블록 액세스 영역)을 갖는다. 구체적으로, 본 실시예는 다음 3가지 데이터 영역을 포함하고, 이것은 데이터의 용도 및 신뢰도에 기초하여 나뉜다.The LBA-NAND memory has a plurality of data areas (logical block access areas) that can be changed in accordance with instructions. Specifically, the present embodiment includes the following three data areas, which are divided based on the purpose and reliability of the data.

(1) 벤더(vender) 애플리케이션을 위한 프로그램 영역, 즉 "벤더 애플리케이션 펌웨어 영역"으로 이하 "VFA" 영역이라 한다.(1) A program area for a vendor application, that is, a "vendor application firmware area", hereinafter referred to as a "VFA" area.

(2) 최종 사용자 애플리케이션을 위한 프로그램 영역, 즉 "음악 데이터 영역"으로 이하 "MDA" 영역이라 한다.(2) A program area for an end user application, that is, a "music data area", hereinafter referred to as an "MDA" area.

(3) 호스트 시스템의 부팅 데이터를 기록하기 위한 시스템 데이터 기록 영역, 즉 VFA 및 MDA 영역을 제외한 "순수 NAND 영역"으로 이하 "PNA" 영역이라 한다.(3) A system data recording area for recording boot data of the host system, that is, a "pure NAND area" excluding the VFA and MDA areas, hereinafter referred to as "PNA" area.

PNA 영역에는 입력 명령 및 어드레스에 따라 판독/기입 동작의 실행을 위한 통상의 액세스 모드 (이하 "PNA" 모드) 및 추가적으로 전원 인가시 설정될 2개의 판독 전용 모드가 주어진다.The PNA area is given a normal access mode (hereinafter referred to as "PNA" mode) for execution of a read / write operation depending on input commands and addresses, and additionally two read only modes to be set at power up.

하나는 전원 인가후 제1 PNA 판독 모드 명령의 입력으로 설정되는 판독 모드이다. 이것은 이하 "PNR (순수 NAND 판독: Pure NAND Read)" 모드라 한다.One is a read mode that is set to the input of a first PNA read mode command after power up. This is hereinafter referred to as "PNR (Pure NAND Read) mode".

다른 하나는 외부 클록과 동기하여 SPI (직렬 주변 인터페이스) 모드에서 직렬 판독을 위해 전원 인가후 제2 PNA 판독 모드 명령의 입력으로 설정된다. 이것은 이하 "직렬 EEP" 모드라 한다.The other is set as input of a second PNA read mode command after power up for serial read in SPI (Serial Peripheral Interface) mode in synchronization with an external clock. This is hereinafter referred to as "serial EEP" mode.

이 두 개의 판독 모드는 LBA-NAND 메모리에 대한 판독/기입 동작에 필요한 시스템 데이터 및 LBA-NAND 메모리로부터 호스트 자체의 부팅 데이터 판독에 대해서 동일하다. 따라서, PNR 모드는 넓은 의미에서 둘을 포함하는 것으로서 해석될 수 있고 직렬 EEP 모드는 PNR 모드 중에서 특별 모드로 간주될 수 있다.These two read modes are identical for reading the boot data of the host itself from the LBA-NAND memory and the system data needed for the read / write operation to the LBA-NAND memory. Thus, the PNR mode can be interpreted as including both in a broad sense and the serial EEP mode can be considered a special mode among the PNR modes.

메모리 제어기에 필요한 시스템 데이터 (펌웨어 FW) 및 부팅 데이터는 전원 인가후 자동적으로 실행되는 초기화 동작 (전원입력 초기 설정 동작)에서 플래시 메모리로부터 자동적으로 판독되어 데이터 레지스터 (버퍼 RAM)로 전송된다. 이 판독 제어는 예컨대 메모리 제어기에서 준비된 하드웨어 시퀀서(sequencer)에서 실행된다.The system data (firmware FW) and boot data required for the memory controller are automatically read from the flash memory and transferred to the data register (buffer RAM) in an initialization operation (power input initial setting operation) which is executed automatically after the power is applied. This read control is executed in, for example, a hardware sequencer prepared in a memory controller.

호스트가 전원 인가후 임의 시간의 경과시 명령을 입력할 때, PNR 모드 또는 직렬 EEP 모드는 LBA-NAND 메모리의 데이터 레지스터에서 설정된 시스템 데이터를 판독하기 위해 설정된다. 메모리 제어기는 데이터가 판독되어 호스트에 있는 PNR 영역으로 들어간 후에 (또는 이와 병렬로) 부팅될 수 있다.When the host enters a command at any time after power-up, the PNR mode or serial EEP mode is set to read the system data set in the data register of the LBA-NAND memory. The memory controller may boot after the data has been read and entered into the PNR area at the host (or in parallel).

전원 인가시 PNR 영역에 대한 판독 모드와는 별도로, PNA, MDA 및 VFA 영역에 대한 판독 및 기입 액세스를 위한 모드가 명령에 따라 설정될 수 있다. 이하, 이들을 PNA 액세스 모드, MDA 액세스 모드, 및 VFA 액세스 모드라 한다.Apart from the read mode for the PNR region at power up, the mode for read and write access to the PNA, MDA and VFA regions can be set according to the command. These are hereinafter referred to as PNA access mode, MDA access mode, and VFA access mode.

애플리케이션 프로그램 영역 또는 VFA 및 MDA 영역에서, 판독/기입 액세스의 데이터 전송 단위는 한 섹터 (512 바이트 또는 528 바이트)이고, 데이터 전송 포맷은 SSFDC (Solid State Floppy Disk Card) 포맷이다. LBA-NAND 메모리는 액세스 명령을 이용하여 한번에 액세스가능한 섹터의 수를 선택하기 위해 섹터 배수를 사용한다. 사용자는 예컨대 1, 4 및 8의 섹터 배수 중에서 선택할 수 있다.In the application program area or the VFA and MDA areas, the data transfer unit of read / write access is one sector (512 bytes or 528 bytes), and the data transfer format is SSFDC (Solid State Floppy Disk Card) format. LBA-NAND memory uses sector multiples to select the number of sectors accessible at one time using an access command. The user can, for example, choose among sector multiples of 1, 4 and 8.

섹터 카운트의 사용은 많은 연속 섹터들이 한 명령마다 액세스되게 할 수 있게 한다. 즉, 이 명령과 함께, 호스트 장치는 데이터의 양을 나타내는 섹터 카운트 및 섹터 어드레스 (논리적 어드레스) 초기값을 제공하여 데이터가 이에 의해 정의된 복수의 섹터로부터 연속적으로 판독되거나 복수의 섹터로 연속적으로 기입될 수 있도록 한다.The use of sector counts allows many consecutive sectors to be accessed per command. That is, with this command, the host device provides a sector count and sector address (logical address) initial value indicating the amount of data so that data can be read continuously from or written to a plurality of sectors sequentially from the plurality of sectors defined by it. To be possible.

구체적으로, 한 어드레스 입력은 5 바이트로 구성되고, 이중에 처음 절반인 2 바이트는 섹터 카운트에 할당되고, 두번째 절반인 3바이트는 섹터 어드레스에 할당된다. 이 액세스 모드는 섹터 카운트 및 섹터 어드레스가 어드레스 조건 ID 명령을 이용하여 식별될 수 있게 한다. 이 어드레스 입력의 바이트 수는 확장가능하다.Specifically, one address input consists of 5 bytes, of which the first half of two bytes are allocated to the sector count and the second half of three bytes are allocated to the sector address. This access mode allows the sector count and sector address to be identified using the address condition ID command. The byte count of this address input is scalable.

모드 변경 명령은 LBA-NAND 메모리의 모드를 변경하기 위해 입력된다. 즉, 전원 인가시 PNR 모드 또는 직렬 EEP 모드는 특별 명령의 입력과 함께 MDA 액세스 모드로 변경된다. 또한, 특별 변경 명령의 입력은 PNR 모드, VFA 액세스 모드 및 MDA 액세스 모드 사이에서 변경된다.A mode change command is input to change the mode of the LBA-NAND memory. That is, at power up, the PNR mode or serial EEP mode is changed to the MDA access mode with the input of a special command. In addition, the input of the special change command is changed between the PNR mode, the VFA access mode, and the MDA access mode.

내부 칩 인에이블 신호(/CE)는 메모리 제어기에서 생성된다. 각 플래시 메모리 검사는 이 신호를 이용하여 제어된다.The internal chip enable signal / CE is generated at the memory controller. Each flash memory test is controlled using this signal.

LBA-NAND 메모리에 대한 소거 명령 및 리셋 명령은 NOP이다. 이 명령의 발행시, 제어는 아무 것도 실행하지 않고 레디(Ready)를 호스트로 반환한다.The erase and reset commands for the LBA-NAND memory are NOP. Upon issuing this command, control does nothing and returns Ready to the host.

[LBA-NAND 메모리 구성]LBA-NAND Memory Configuration

도 1은 일실시예에 따른 비휘발성 메모리 시스템인 LBA-NAND 메모리(20)의 구성을 도시한다. 이 메모리(20)는 NAND형 플래시 메모리 칩(21)과 이 메모리에 대한 판독/기입 제어를 실행하도록 작용하는 메모리 제어기(22)를 포함하는데, 이 둘은 일체형으로 패키지화된다.1 illustrates a configuration of an LBA-NAND memory 20 that is a nonvolatile memory system according to an exemplary embodiment. This memory 20 includes a NAND-type flash memory chip 21 and a memory controller 22 that serves to execute read / write control for the memory, both of which are packaged in one piece.

플래시 메모리 칩(21)은 복수의 메모리 칩을 포함할 수 있다. 도 1은 2개의 메모리 칩인 칩 1 및 칩 2를 도시하는데, 이것은 이 경우에 단일의 메모리 제어기(22)로부터 제어될 수 있다. 최대 장착가능한 메모리 칩의 수는 조절기의 전류 능력 및 다른 요인들로부터 결정될 수 있고 예컨대 4개의 칩일 수 있다.The flash memory chip 21 may include a plurality of memory chips. 1 shows two memory chips, chip 1 and chip 2, which in this case can be controlled from a single memory controller 22. The maximum number of mountable memory chips can be determined from the regulator's current capability and other factors, for example four chips.

메모리 제어기(22)는 원칩 제어기로서, 플래시 메모리 칩(21)로/로부터 데이터 전송을 처리하기 위한 NAND 플래시 인터페이스(23); 호스트 장치로/로부터 데이터 전송을 처리하기 위한 호스트 인터페이스(25); 판독/기입 데이터 등을 일시적으로 유지하도록 작용하는 버퍼 RAM(26); 데이터 전송 제어를 실행하도록 작용하는 MPU(24); 및 NAND형 플래시 메모리(21)에서 펌웨어(FW)에 대한 판독/기입 시퀀스 제어 등에서 사용하기 위한 하드웨어 시퀀서(27)를 포함한다.The memory controller 22 is a one-chip controller, comprising: a NAND flash interface 23 for processing data transfer to / from the flash memory chip 21; A host interface 25 for handling data transmission to / from the host device; A buffer RAM 26 serving to temporarily hold read / write data and the like; An MPU 24 operative to execute data transfer control; And a hardware sequencer 27 for use in read / write sequence control for the firmware FW in the NAND type flash memory 21, and the like.

메모리 칩(21) 및 메모리 제어기(22)가 서로 다른 칩으로 구성된다는 것은 이 LBA-NAND 메모리 시스템에 대해 본질적인 것이 아니다. 도 2는 도 1의 LBA-NAND 메모리(20)의 기능 블록 구성을 도시하는데 여기서 메모리 칩(21) 및 메모리 제어기(22)의 논리 제어가 함께 도시된다. 도 3은 그 메모리 코어의 셀 어레이 구성을 도시한다.It is not essential for this LBA-NAND memory system that the memory chip 21 and the memory controller 22 consist of different chips. FIG. 2 shows the functional block configuration of the LBA-NAND memory 20 of FIG. 1, where the logic control of the memory chip 21 and the memory controller 22 are shown together. 3 shows a cell array configuration of the memory core.

메모리 셀 어레이(1)는 도 3에서 도시된 바와 같이 어레이된 NAND 셀 유닛들 (NAND 스트링) (NU) 중 하나를 형성하기 위해 직렬 연결된 복수의 전기적으로 소거가능한 프로그램가능한 비휘발성 반도체 메모리 셀 (M0-M31) (도시된 예에서 32개의 메모리 셀)을 포함한다.The memory cell array 1 includes a plurality of electrically erasable programmable nonvolatile semiconductor memory cells M0 connected in series to form one of the arrayed NAND cell units (NAND string) NU as shown in FIG. 3. -M31) (32 memory cells in the example shown).

NAND 셀 유닛(NU)은 일단이 선택 게이트 트랜지스터(S1)를 통해 비트선 (BLo, BLe)에 연결되고 타단이 선택 게이트 트랜지스터(S2)를 통해 공통 소스선 (CELSRC)에 연결된다. 메모리 셀(M0-M31)은 각각 워드선(WL0-WL31)에 연결된 제어 게이트를 갖는다. 선택 게이트 트랜지스터(S1, S2)는 선택 게이트선(SGD, SGS)에 연결된 게이트를 갖는다.One end of the NAND cell unit NU is connected to the bit lines BLO and BLe through the selection gate transistor S1, and the other end thereof is connected to the common source line CELSRC through the selection gate transistor S2. The memory cells M0-M31 each have a control gate connected to the word lines WL0-WL31. The selection gate transistors S1 and S2 have gates connected to the selection gate lines SGD and SGS.

워드선을 따라 어레이된 일군의 NAND 셀 유닛은 데이터 소거 최소 유닛인 한 블록을 구성하고, 복수의 이러한 블록(BLK0-BLKn-1)은 도시된 대로 비트선을 따라 정렬된다.A group of NAND cell units arrayed along a word line constitutes one block, which is a data erasing minimum unit, and a plurality of such blocks BLK0-BLKn-1 are aligned along bit lines as shown.

센스 앰프 회로(3)는 셀 데이터 판독 및 기입 동작을 하기 위해 비트선(BLo, BLe)의 일단에 정렬된다. 행 디코더(2)는 워드선 및 선택 게이트선을 선택적으로 구동하기 위해 워드선의 일단에 정렬된다. 도시된 경우에서, 짝수 비트선(BLe) 및 인접한 홀수 비트선(BLo)은 비트선 선택기를 통해 센스 앰프 회로(3)에 있는 각 센스 앰프(SA)에 선택적으로 연결된다.The sense amplifier circuit 3 is aligned at one end of the bit lines BLO and BLe for cell data read and write operations. The row decoder 2 is aligned at one end of the word line to selectively drive the word line and the selection gate line. In the case shown, the even bit line BLe and the adjacent odd bit line BLO are selectively connected to each sense amplifier SA in the sense amplifier circuit 3 via a bit line selector.

명령, 어드레스 및 데이터는 입력 제어기(13)를 통해 입력된다. 칩 인에이블 신호(/CE), 기입 인에이블 신호(/WE), 판독 인에이블 신호(/RE), 및 다른 외부 제어 신호들은 타이밍 제어에서 사용하기 위해 논리 회로(14)로 입력된다. 이 명령은 명령 디코더(8)에서 디코딩된다.Commands, addresses and data are input via the input controller 13. The chip enable signal / CE, the write enable signal / WE, the read enable signal / RE, and other external control signals are input to the logic circuit 14 for use in timing control. This command is decoded in the command decoder 8.

제어기(6)는 데이터 전송의 제어 및 기입/소거/판독의 시퀀스 제어를 실행하도록 작용한다. 상태 레지스터(11)는 레디(Ready)/비지(Busy) 단자에 LBA-NAND 메모리(20)의 레디/비지 상태를 제공하도록 작용한다. 이와는 별도로, 상태 레지스터(12)는 I/O 포트를 통해 호스트에게 메모리(20)의 상태 (통과/실패, 레디/비지 등)를 통지하도록 준비된다.The controller 6 serves to perform control of data transfer and sequence control of write / erase / read. The status register 11 serves to provide a ready / busy state of the LBA-NAND memory 20 to a Ready / Busy terminal. Apart from this, the status register 12 is prepared to notify the host through the I / O port of the status of the memory 20 (pass / fail, ready / busy, etc.).

이 어드레스는 어드레스 레지스터(5)를 통해 행 디코더(2) (사전 행 디코더(2a) 및 주(main) 행 디코더(2b) 포함) 및 열 디코더(4)로 전달된다. 기입 데이 터는 I/O 제어 회로(7) 및 제어 회로(6)를 통해 센스 앰프 회로(3) (센스 앰프(3a) 및 데이터 레지스터(3b) 포함)로 로딩된다. 판독 데이터는 제어 회로(6) 및 I/O 제어 회로(7)를 통해 외부로 제공된다.This address is passed to the row decoder 2 (including the pre-row decoder 2a and the main row decoder 2b) and the column decoder 4 via the address register 5. The write data is loaded into the sense amplifier circuit 3 (including the sense amplifier 3a and the data register 3b) through the I / O control circuit 7 and the control circuit 6. Read data is provided externally through the control circuit 6 and the I / O control circuit 7.

고전압 발생기(10)는 서로 다른 동작 모드에 따라 필요한 고전압을 발생하도록 제공된다. 고전압 발생기(10)는 제어 회로(6)로부터 주어진 명령에 기초하여 임의의 고전압을 발생한다. The high voltage generator 10 is provided to generate the required high voltage according to different operating modes. The high voltage generator 10 generates any high voltage based on a command given from the control circuit 6.

도 4는 본 실시예의 LBA-NAND 메모리에서 패키지 핀 구성을 도시하고, 도 5는 핀 명칭 및 기능을 요약하여 도시한다. 이 도면들은 비교를 위해 종래의 NAND형 플래시 메모리 (4Gbit SLC Large Block)에서의 패키지 핀 구성을 함께 도시한다.Fig. 4 shows a package pin configuration in the LBA-NAND memory of this embodiment, and Fig. 5 summarizes the pin names and functions. These figures together show the package pin configuration in a conventional NAND type flash memory (4Gbit SLC Large Block) for comparison.

입력/출력 포트(I/O1-I/O8)는 바이트 기준으로 명령, 어드레스 및 데이터의 입력/출력을 위해 사용된다. 외부 제어 신호 단자는 칩 인에이블 신호(/CE), 기입 인에이블 신호(/WE), 판독 인에이블 신호(/RE), 명령 래치 인에이블 신호(CLE), 및 어드레스 래치 인에이블 신호(ALE)를 위한 단자들을 포함할 수 있다.Input / output ports (I / O1-I / O8) are used for input / output of commands, addresses and data on a byte basis. The external control signal terminal includes a chip enable signal (/ CE), a write enable signal (/ WE), a read enable signal (/ RE), an instruction latch enable signal (CLE), and an address latch enable signal (ALE). It may include terminals for.

I/O 신호는 어드레스, 데이터 또는 명령 신호이다. 명령 래치 인에이블 (CLE) 신호는 LBA-NAND 메모리에서 동작 명령을 취하는 것을 제어하는 신호이다. 이 신호가 기입 인에이블(/WE) 신호의 상승 또는 하강에 응답하여 "H" 레벨로 설정될 때, 입력/출력 포트(I/O0-I/O7)에서의 데이터가 명령 데이터로서 LBA-NAND 메모리에서 취해질 수 있다.I / O signals are address, data or command signals. The instruction latch enable (CLE) signal is a signal that controls the operation command in the LBA-NAND memory. When this signal is set to the "H" level in response to the rising or falling of the write enable (/ WE) signal, the data at the input / output port (I / O0-I / O7) is LBA-NAND as command data. Can be taken from memory.

어드레스 래치 인에이블(ALE) 신호는 LBA-NAND 메모리에서 어드레스 데이터 를 취하는 것을 제어하는 신호이다. 이 신호가 기입 인에이블(/WE) 신호의 상승 또는 하강에 응답하여 "H" 레벨로 설정될 때, 입력/출력 포트(I/O0-I/O7)에서의 데이터가 어드레스 데이터로서 LBA-NAND 메모리에서 취해질 수 있다.The address latch enable (ALE) signal is a signal that controls taking address data from the LBA-NAND memory. When this signal is set to the "H" level in response to the rising or falling of the write enable (/ WE) signal, the data at the input / output port (I / O0-I / O7) is LBA-NAND as address data. Can be taken from memory.

칩 인에이블 (/CE) 신호는 장치 선택 신호이고 이 신호는 레디 상태에서 "H" 레벨로 설정될 때 저전력 대기 모드를 설정한다.The chip enable (/ CE) signal is a device select signal that sets the low power standby mode when set to the "H" level in the ready state.

기입 인에이블 (/WE) 신호는 입력/출력 포트(I/O0-I/O7)로부터 데이터를 취해 장치로 입력하는 신호이다. The write enable (/ WE) signal is a signal that takes data from an input / output port (I / O0-I / O7) and inputs it to the device.

판독 인에이블 (/RE) 신호는 입력/출력 포트(I/O0-I/O7)가 데이터를 직렬로 외부에 제공할 수 있게 하는 신호이다.The read enable (/ RE) signal is a signal that allows input / output ports (I / O0-I / O7) to provide data externally in series.

본 실시예의 메모리는 호스트 장치에서 본 종래의 NAND형 플래시 메모리에서와 동일한 신호 단자 정렬을 갖고, 일 특징으로서 종래의 NAND형 플래시 메모리처럼 취급될 수 있다. 즉, 도 1에 도시된 호스트 인터페이스(25)는 NAND 플래시 인터페이스(23)와 동일한 전기 구성을 갖는다.The memory of this embodiment has the same signal terminal alignment as that of the conventional NAND flash memory seen in the host device, and can be treated as a conventional NAND flash memory as one feature. That is, the host interface 25 shown in FIG. 1 has the same electrical configuration as the NAND flash interface 23.

따라서, 호스트로부터 공급된 어드레스가 NAND형 플래시 메모리(21) 상의 물리적 어드레스가 아니라 논리적 어드레스라는 점을 제외하고, 종래의 NAND형 플래시 메모리처럼 취급될 수 있다. 호스트로부터 공급된 논리적 어드레스는 NAND형 플래시 메모리(21)에 액세스하기 위해 MPU(24)에서 어드레스 변환을 수행한다.Thus, it can be treated like a conventional NAND flash memory, except that the address supplied from the host is a logical address rather than a physical address on the NAND flash memory 21. The logical address supplied from the host performs address translation in the MPU 24 to access the NAND type flash memory 21.

"DATA" 및 "CLK"는 직렬 EEP 모드에서 LBA-NAND 메모리(20)의 동작에서 사용하기 위한 데이터 및 클록 단자이고, "/HOLD"는 그 일시정지 단자이다."DATA" and "CLK" are data and clock terminals for use in the operation of the LBA-NAND memory 20 in the serial EEP mode, and "/ HOLD" is its pause terminal.

사용자 지정 제어핀 "COM0", "COM1" 및 "COME"는 장치에 관한 현 정보 및 특 별 데이터 입/출력 요청시 사용하기 위해 준비된다.The custom control pins "COM0", "COM1" and "COME" are prepared for use in requesting current information and special data input / output for the device.

도 6은 PNA 영역에서 기록될 호스트 시스템의 시스템 데이터 (부팅 데이터 포함)의 기록 상태를 도시한다. 이 시스템 데이터는 플래시 메모리 칩(21)에서 선행 블록(BLK0)에 기록된다. 시스템 데이터는 높은 신뢰도를 가질 것이 요구되고 따라서 특별히 다음 사항이 고려된다.Fig. 6 shows a recording state of system data (including boot data) of the host system to be recorded in the PNA area. This system data is written in the preceding block BLK0 in the flash memory chip 21. The system data is required to have high reliability, and therefore the following is particularly considered.

한 블록 내 워드선(WL0-WL31) 중에서, 적어도 양 단에 있는 워드선(WL0, WL31)은 선택 게이트 트랜지스터에 인접한 셀이 다른 셀들보다 더 큰 기입 방해를 갖기 때문에 사용되지 않는다. 이와 달리, 훨씬 더 높은 데이터 신뢰도가 두 라인마다 또는 몇 라인마다 워드선의 사용을 통해 보장될 수 있다.Of the word lines WL0-WL31 in one block, at least the word lines WL0 and WL31 at both ends are not used because the cell adjacent to the selection gate transistor has a larger write disturbance than the other cells. Alternatively, much higher data reliability can be ensured through the use of word lines every two lines or every few lines.

셀 어레이는 짝수 비트선(BLe) 및 하나의 워드선을 이용하여 선택된 짝수 페이지 및 홀수 비트선(BLo) 및 하나의 워드선을 이용하여 선택된 홀수 페이지와 같은 동시 판독/기입 범위를 갖는다. 시스템 데이터는 이 페이지들 중 하나에만 기록된다 (본 예에서는 짝수 페이지). 몇개의 선마다 비트선의 사용은 또한 신뢰도를 더 높이기 위해 효과적이다.The cell array has the same read / write range as the even page selected using the even bit line BLe and one word line and the odd page selected using the odd bit line BLO and one word line. System data is written to only one of these pages (even pages in this example). The use of bit lines every few lines is also effective for higher reliability.

최소 프로세스 규격 (설계 규칙)이 더 작아짐에 따라, 인접한 셀들 사이의 간섭이 더 큰 데이터 변동을 일으킨다. 따라서, 본 실시예는 짝수 페이지 또는 홀수 페이지만의 사용을 통해 시스템 데이터의 신뢰도를 보장한다.As the minimum process specification (design rule) becomes smaller, the interference between adjacent cells causes greater data variation. Thus, this embodiment guarantees the reliability of system data through the use of even or odd pages only.

예컨대, LBA-NAND 메모리가 2 비트 (4개의 값)의 데이터를 한 메모리셀에 저장할 수 있는 다치(multivalue) 메모리이면, 2 페이지 어드레스, 즉 상위 페이지 및 하위 페이지는 2 비트로 할당된다. LBA-NAND 메모리가 이런 식으로 여러 값을 저장하기 위해 사용될 때에도, 하위 페이지만을 사용하는 이진(binary) 저장 방식은 더 높은 신뢰도를 갖는 것이 요구되는 시스템 데이터 부분에 대해 적용되는 것이 바람직하다.For example, if the LBA-NAND memory is a multivalue memory capable of storing two bits (four values) of data in one memory cell, two page addresses, i.e., upper page and lower page, are allocated with two bits. Even when LBA-NAND memory is used to store multiple values in this way, a binary storage scheme using only lower pages is preferably applied to the portion of the system data that needs to have higher reliability.

도 6에 도시된 바와 같이, 짝수 페이지의 하부 페이지만이 시스템 데이터 부분에 대해 사용된다.As shown in Figure 6, only the lower pages of even pages are used for the system data portion.

직렬 EEP 모드에서 시스템 데이터의 출력은 잉여 영역을 포함하는 데이터의 형태로 실행된다. 임의의 심볼의 데이터 오류가 판독시에 발생하면, 이 데이터는 예비 블록으로 대체된다. 8개 이상의 심볼의 데이터 오류가 발생하면, 정정되지 않은 데이터가 그대로 출력되고 판독 오류가 상태에서 디스플레이된다.In serial EEP mode, the output of system data is performed in the form of data including redundant areas. If a data error of any symbol occurs at the time of reading, this data is replaced with a spare block. If a data error of eight or more symbols occurs, the uncorrected data is output as is and the read error is displayed in the state.

[시스템 개요 및 모드 변경][System overview and mode change]

도 7은 LBA-NAND 메모리의 시스템 개요를 요약하여 도시한다. 앞서 설명된 바와 같이, 이 메모리는 3개의 데이터 영역, 즉 PNA, VFA 및 MDA 영역을 갖고, 추가적으로 제어기 시스템 영역을 갖는다. 이 제어기 시스템 영역은 LBA-NAND 메모리에 있는 메모리 제어기의 펌웨어(FW)가 저장되는 영역이다.7 summarizes the system overview of the LBA-NAND memory. As described above, this memory has three data areas, namely PNA, VFA and MDA areas, and additionally has a controller system area. This controller system area is the area where the firmware (FW) of the memory controller in the LBA-NAND memory is stored.

"순수 NAND" 모드로서, 전원입력시 설정된 PNA 영역에 대한 판독 모드인 PNR 모드가 있다. PNR 모드는 명령 <00h>-<Add>-<30h>을 이용하여 설정된다. 이 경우, 어드레스 <Add>는 더미 어드레스이다.As the " pure NAND " mode, there is a PNR mode, which is a read mode for the PNA area set at power on. The PNR mode is set using the commands <00h>-<Add>-<30h>. In this case, the address <Add> is a dummy address.

본 예에서, 명령에 있는 <h>는 16진수를 나타낸다. 실제로, "00000000"의 8비트 신호는 8개의 입/출력 포트(I/O0-I/O7)에 병렬로 주어진다.In this example, <h> in the command represents a hexadecimal number. In practice, an 8-bit signal of "00000000" is given in parallel to eight input / output ports (I / O0-I / O7).

"LBA-NAND" 모드의 예로는, 각각 PNA, VFA 및 MDA 영역에 대한 판독/기입 액 세스에서 사용하기 위한 PNA 액세스 모드, VFA 액세스 모드, 및 MDA 액세스 모드가 있다.Examples of "LBA-NAND" modes are PNA access mode, VFA access mode, and MDA access mode for use in read / write access to the PNA, VFA, and MDA regions, respectively.

PNR 모드, PNA 액세스 모드, VFA 액세스 모드 및 MDA 액세스 모드 사이에서 변경하는 것은 명령을 이용하여 실행된다. 도 8 및 도 9는 두 개의 모드 변경 도면을 도시한다.Changing between the PNR mode, PNA access mode, VFA access mode, and MDA access mode is performed using instructions. 8 and 9 show two mode change diagrams.

도 8에 도시된 바와 같이, COME = "L" (또는 COME = "H") 및 PNR 모드 명령 <00h>-<Add>-<30h>을 이용하여, PNR 모드는 전원 인가 후에 설정된다. PNR 모드에서 작업의 완료후, 명령 <FCh>의 입력은 MDA 액세스 모드로의 전이를 일으킨다.As shown in FIG. 8, using COME = "L" (or COME = "H") and PNR mode commands <00h>-<Add>-<30h>, the PNR mode is set after power-up. After completion of work in PNR mode, the input of command <FCh> causes a transition to MDA access mode.

그후, 변경 명령의 입력은 액세스 모드들 PNA-MDA-VFA 사이에서 변경하는 것을 가능하게 한다.The input of the change command then makes it possible to change between the access modes PNA-MDA-VFA.

도 9에 도시된 바와 같이, COME = "H", COM0 = "H", 및 COM1 = "L"을 이용하여, 직렬 EEP 모드는 전원 인가후 설정된다. 직렬 EEP 모드는 PNR에서 판독가능한 데이터가 직렬 EEP 인터페이스를 통해 외부로 제공되는 모드이다. 직렬 EEP 인터페이스로서, SPI 인터페이스가 채택될 수 있다.As shown in FIG. 9, using COME = "H", COM0 = "H", and COM1 = "L", the serial EEP mode is set after power-up. Serial EEP mode is a mode in which data readable in the PNR is provided externally through the serial EEP interface. As a serial EEP interface, an SPI interface can be adopted.

이 경우에서도, 작업의 완료후, 명령 <FCh>의 입력은 MDA 액세스 모드로의 전이를 일으킨다. 그후, 변경 명령의 입력은 액세스 모드들 PNA-MDA-VFA 사이에서 변경하는 것을 가능하게 한다.Even in this case, after completion of the operation, the input of the command <FCh> causes a transition to the MDA access mode. The input of the change command then makes it possible to change between the access modes PNA-MDA-VFA.

[데이터 구조][Data structure]

도 10은 서로 다른 데이터 영역에서의 데이터 구조를 도시한다.10 shows data structures in different data areas.

PNA 영역에서의 데이터에는 판독 및 기입을 위해 2112 바이트 (2048 바이트 + 64 바이트)의 전송 단위가 주어진다. 모든 데이터가 직렬로 출력될 때, 이들은 섹터 기준으로 (= 2112 바이트) 제1 섹터부터 256번째 섹터까지 순차적으로 제공되어, 결과적으로 총 512 KB (= 540,6278 바이트)가 된다.Data in the PNA area is given a transmission unit of 2112 bytes (2048 bytes + 64 bytes) for reading and writing. When all data is output serially, they are provided sequentially from the first sector to the 256th sector on a sector basis (= 2112 bytes), resulting in a total of 512 KB (= 540,6278 bytes).

섹터 배수 1 (SM = 1)의 경우, VFA 및 MDA 영역에는 도시된 데이터 포맷으로 512 바이트 (데이터 바디)와 판독 및 기입을 위한 16 바이트 (잉여 데이터)를 포함하여 총 528 바이트의 전송 단위가 주어진다. CRC 데이터 및 ECC 데이터는 기입시 호스트 장치에서 그리고 판독시 LBA-NAND 메모리의 메모리 제어기에서 생성된다.For sector multiple 1 (SM = 1), the VFA and MDA areas are given a total of 528 bytes of transmission in the data format shown, including 512 bytes (data body) and 16 bytes for read and write (surplus data). . CRC data and ECC data are generated at the host device at the time of writing and at the memory controller of the LBA-NAND memory at the time of reading.

512 바이트의 일부는 NAND형 플래시 메모리에 저장된다. 전송된 데이터 중에서, 데이터 바디만이 기입된다. 실제로, 연장된 16 바이트는 플래시 메모리에서 삭제되고, ECC 코드는 기입 데이터에 따라 생성되고 이 기입 데이터와 함께 저장된다.Part of the 512 bytes is stored in NAND flash memory. Of the transmitted data, only the data body is written. In practice, the extended 16 bytes are deleted from the flash memory, and the ECC code is generated in accordance with the write data and stored with this write data.

전송된 데이터의 정확성은 기입시에 LBA-NAND 메모리의 메모리 제어기에서 그리고 판독시에 호스트 시스템에서 6 바이트의 ECC 데이터로 검사된다.The accuracy of the transmitted data is checked with 6 bytes of ECC data at the memory controller of the LBA-NAND memory at the time of writing and at the host system at the time of reading.

16 바이트의 잉여 데이터를 제외하고 512 바이트의 전송 단위로 판독/기입 동작을 실행하는 것이 가능하다. 이것은 데이터 구성의 수정 또는 변경을 지시하는 구성 명령을 이용하여 변경 및 설정될 수 있다.It is possible to execute read / write operations in units of 512 bytes of transmission except for 16 bytes of excess data. This can be changed and set using configuration commands that instruct to modify or change the data configuration.

SM = 4 또는 8의 섹터 배수는 2 KB 또는 4 KB의 데이터 전송 단위로 된다. 이들은 SM = 1 데이터 포맷의 4회 또는 8회 반복을 통해 이루어진다. The sector multiple of SM = 4 or 8 is a data transfer unit of 2 KB or 4 KB. These are done through four or eight iterations of the SM = 1 data format.

호스트로부터 제어기의 펌웨어(FW)를 업데이트하는 모드에서, 기입 데이터 전송은 도시된 대로 528 바이트의 전송 단위로 실행된다. VFA 영역은 8 MB의 기본 데이터 크기를 갖고, 크기조정 명령을 이용하여 수정가능하고 256 KB의 용량 수정 단위에서 최대 32 MB 까지 선택가능한 용량을 갖는다. 저장될 데이터는 데이터 바디만을 포함하고 잉여 영역 데이터는 저장되지 않는다. 데이터 기입시에 입력된 ECC 코드는 전송 데이터의 확인을 위해서만 사용되고 1 비트 오류가 발생할 때 정정된다. In the mode of updating the firmware (FW) of the controller from the host, the write data transfer is executed in units of 528 bytes as shown. The VFA area has a basic data size of 8 MB, can be modified using a resize command, and has a selectable capacity of up to 32 MB in a capacity modification unit of 256 KB. The data to be stored includes only the data body and no redundant area data is stored. The ECC code input at the time of data writing is used only for confirmation of transmission data and is corrected when a 1 bit error occurs.

크기조정/패스워드는 다음 명령 시퀀스에서 설정된다.The resize / password is set in the next command sequence.

크기조정: <00h>-<Config: A5>-<새로운 값: 1바이트>-<더미: 3바이트>-<57h>Resize: <00h>-<Config: A5>-<New value: 1 byte>-<Dummy: 3 bytes>-<57h>

패스워드 변경: <00h>-<Config: 11>-<지난 PW(패스워드): 2바이트>-<새로운 PW: 2바이트>-<57h>Change Password: <00h>-<Config: 11>-<Last PW (Password): 2 bytes>-<New PW: 2 bytes>-<57h>

VFA 영역의 용량의 증가 또는 감소에 따라, MDA 영역의 용량은 이에 따라 감소 또는 증가한다. MDA 액세스 모드에서의 출력 포맷은 +16 바이트의 SSFDC 모드이다. 연장된 16 바이트 중에서, 유효 데이터는 6 바이트의 ECC 데이터 뿐이고 다른 데이터는 무시/무효화 된다.As the capacity of the VFA region increases or decreases, the capacity of the MDA region decreases or increases accordingly. The output format in MDA access mode is SSFDC mode of +16 bytes. Of the 16 bytes extended, valid data is only 6 bytes of ECC data and other data is ignored / invalidated.

[명령 구조]Command structure

도 11a-11j는 서로 다른 동작 모드에서의 명령 구조를 도시한다. 이 도면들에서, < >는 LBA-NAND 메모리로의 입력을 나타내고, []은 LBA-NAND 메모리로부터의 출력을 나타낸다. 또한, (B2R)은 비지/레디 신호(RY/BY)가 비지로 전이한 후 다시 레디로 돌아오는 것을 나타낸다.11A-11J illustrate instruction structures in different modes of operation. In these figures, <> represents an input to the LBA-NAND memory, and [] represents an output from the LBA-NAND memory. Further, (B2R) indicates that the busy / ready signal RY / BY transitions to busy and then returns to ready.

PNR 모드는 어드레스 입력을 필요로 하지 않는 판독 모드이고 어드레스는 더미로서 입력된다 (도 11a에서 명령 번호 1). 이 PNR 모드에서, 데이터는 논리적 어드레스 LBA = 0으로부터 순차적으로 2112 바이트 단위로 판독된다.The PNR mode is a read mode that does not require address input and the address is input as a dummy (command number 1 in Fig. 11A). In this PNR mode, data is read sequentially from logical address LBA = 0 in units of 2112 bytes.

MDA 액세스 모드에서 판독/기입은 다음 명령 시퀀스에서 복수의 섹터에 대해 연속적으로 실행되는데, 여기서, 한 명령 이후에, 섹터 카운트 <SC>와 섹터 어드레스 (초기값) <SA>가 입력된다 (도 11a에서 명령 번호 2).In the MDA access mode, read / write is executed successively for a plurality of sectors in the next command sequence, where after one command, sector count <SC> and sector address (initial value) <SA> are input (FIG. 11A). Command number 2).

판독:Readout:

(1) <00h>-(SC: 2Byte)-(SA: 3Byte)-<30h>-(B2R)-[Data]-...<00h>-(DummyAdd)-<30h>-[Data]...; 또는(1) <00h>-(SC: 2Byte)-(SA: 3Byte)-<30h>-(B2R)-[Data] -... <00h>-(DummyAdd)-<30h>-[Data]. ..; or

(2) <00h>-(SC: 2Byte)-(SA: 3Byte)-<30h>-(B2R)-[Data]-<F8h>-(B2R)-[Data]...; 또는(2) <00h>-(SC: 2Byte)-(SA: 3Byte)-<30h>-(B2R)-[Data]-<F8h>-(B2R)-[Data] ...; or

(3) <00h>-(SC: 2Byte)-(SA: 3Byte)-<30h>-(B2R)-[Data]-(B2R)-[Data]-(B2R)-[Data]...(3) <00h>-(SC: 2Byte)-(SA: 3Byte)-<30h>-(B2R)-[Data]-(B2R)-[Data]-(B2R)-[Data] ...

기입:entry:

(1) <80h>-(SC: 2Byte)-(SA: 3Byte)-<data>-<10h>-(B2R)-...<80h>-(DummyAdd)-<data>-<10h>-(B2R)...; 또는(1) <80h>-(SC: 2Byte)-(SA: 3Byte)-<data>-<10h>-(B2R) -... <80h>-(DummyAdd)-<data>-<10h>- (B2R) ...; or

(2) <80h>-(SC: 2Byte)-(SA: 3Byte)-<data>-<15h>-(B2R)-<F2h>-<data>-<10h>-(B2R)-<F2h>-<data>-<10h>-(B2R)...(2) <80h>-(SC: 2Byte)-(SA: 3Byte)-<data>-<15h>-(B2R)-<F2h>-<data>-<10h>-(B2R)-<F2h> -<data>-<10h>-(B2R) ...

PNA 액세스 모드는 MDA 액세스 모드와 유사하게 수행된다 (도 11a에서 명령 번호 3). 기입시, 2112 바이트/명령의 기입 데이터가 4224 바이트의 영역을 이용하여 기입된다. 기입시, 모든 데이터가 ECC와 함께 저장된다.PNA access mode is performed similarly to MDA access mode (command number 3 in FIG. 11A). At the time of writing, write data of 2112 bytes / instruction is written using an area of 4224 bytes. At the time of writing, all data is stored with the ECC.

VFA 액세스 모드도 MDA 액세스 모드와 유사하다 (도 11a에서 명령 번호 4).The VFA access mode is also similar to the MDA access mode (command number 4 in FIG. 11A).

모드 변경 명령 코드는 PNR 모드에서 MDA 액세스 모드로의 변경, 직렬 EEP 모드에서 MDA 액세스 모드로의 변경, 및 MDA 액세스 모드-PNA 액세스 모드-VFA 액세스 모드 사이에서의 변경을 위해 각각 준비된다 (도 11a에서 명령 번호 5).The mode change command code is prepared for the change from the PNR mode to the MDA access mode, the change from the serial EEP mode to the MDA access mode, and the change between the MDA access mode-PNA access mode-VFA access mode, respectively (FIG. 11A). Command number 5).

도 11a의 명령 번호 7에서, 펌웨어(FW) 리로드(reload) 명령인 "명령-911"은 플래시 메모리 칩에 저장된 제어기의 FW를 재판독하기 위해 사용된다. 메모리 제어기의 동작이 문제가 생길 때, 버퍼 RAM의 재구성이 필요하고 이에 따라 이 명령이 실행된다. 이 명령을 이용하여, 버퍼 RAM 내의 데이터가 백업되고, 시스템 부팅의 실행후, 시스템은 MDA 액세스 모드로 복귀한다. 최소 비지 시간은 1초이다.In command number 7 of FIG. 11A, the firmware (FW) reload command “command-911” is used to reread the FW of the controller stored in the flash memory chip. When the operation of the memory controller becomes a problem, a reconfiguration of the buffer RAM is required and this command is executed accordingly. Using this command, the data in the buffer RAM is backed up, and after executing the system boot, the system returns to the MDA access mode. The minimum busy time is 1 second.

IF 판독 명령의 실행은 도 11b의 명령 번호 9에서 도시된 바와 같이 각각의 I/O 포트에 할당된 ID 코드를 판독하는 것을 가능하게 한다. 구체적으로, ID 코드에 따라, 이진 저장형의 4Gbit NAND 플래시 메모리의 에뮬레이션을 위한 ID 데이터 (128K 바이트의 소거 블록 크기 및 2K 바이트의 페이지 길이와 함께) 및 실제 LBA-NAND 메모리에 대한 ID 데이터가 명령을 이용하여 구별하여 판독될 수 있다.Execution of the IF read command makes it possible to read the ID code assigned to each I / O port as shown in command number 9 of FIG. 11B. Specifically, ID data (with erase block size of 128K bytes and page length of 2K bytes) and ID data for actual LBA-NAND memory are emulated according to the ID code for emulation of 4Gbit NAND flash memory of binary storage type. Can be read separately using.

도 11c에 도시된 바와 같이, 상태 판독 명령을 이용하여, 상태 정보가 호스트로 출력될 수 있다. 구체적으로, 도 11c에 도시된 바와 같이, 일반적인 통과/실패, 전송 오류 통과/실패, 레디/비지, 및 절전 모드, 동작 모드 및 다른 모드와 같은 LBA-NAND에 독특한 특별 정보와 같은 정보가 명령을 이용하여 선택될 수 있다. 레디/비지 단자와는 별도로, 이 상태 정보들은 입/출력 포트(I/O)로 제공된다.As shown in FIG. 11C, status information may be output to the host using a status read command. Specifically, as shown in FIG. 11C, information such as general pass / fail, transmission error pass / fail, ready / busy, and special information unique to the LBA-NAND, such as power save mode, operation mode, and other modes, may be issued a command. Can be selected. Apart from the ready / busy terminals, this status information is provided to the input / output port (I / O).

I/O1 및 I/O2와 연관된 통과/실패에 대해, 전자는 다량의 섹터가 한 명령을 이용하여 전송될 때 요약 비트로 명령의 요약을 나타낸다. 이와 반대로, 후자는 상태 검사의 구현 직전에 데이터 전송이 목적인 통과/실패의 결과를 도시한다. 상기 둘은 모두 전송 오류 통과/실패를 포함한다.For the pass / fail associated with I / O1 and I / O2, the former represents the summary of the command in summary bits when a large number of sectors are sent using one command. In contrast, the latter shows the result of a pass / fail for which data transfer is intended just before the implementation of the health check. Both of these include transmission error pass / fail.

패스워드 설정 및 수정은 사용자 지정 명령을 이용하여 실행된다 (도 11d에서 명령 번호 11).Password setting and modification are executed using a user-specified command (command number 11 in FIG. 11D).

VFA 단위 설정 명령은 256 KB 단위로 최대 32 MB 까지 VFA 영역의 용량 크기를 설정하기 위해 사용된다 (도 11d에서 명령 번호 12). 입력값은 256 KB의 정수배이다 ("04h 00h"에서 "00h 00h"까지). 이 명령은 구 VFA 데이터 및 MDA 데이터를 소거하기 위해 사용된다.The VFA unit setting command is used to set the capacity size of the VFA area up to 32 MB in 256 KB units (command number 12 in Fig. 11D). The input value is an integer multiple of 256 KB ("04h 00h" through "00h 00h"). This command is used to erase old VFA data and MDA data.

FW 업데이트 실행 명령은 호스트에서 메모리 제어기의 버퍼 RAM로 업데이트된 FW 데이터를 유효화하고 이를 NAND 플래시 메모리로 전송 및 기입하기 위해 사용된다 (도 11d에서 명령 번호 13.1).The FW update execution command is used to validate the updated FW data at the host to the buffer RAM of the memory controller and to transfer and write it to the NAND flash memory (command number 13.1 in FIG. 11D).

어드레스 리셋 명령은 섹터 카운트 및 섹터 어드레스를 지우기 위해 사용된다 (도 11d에서 명령 번호 13.2). 명령의 완료후, 시스템은 PNR 모드로 복귀하고 어드레스 00h로부터 다시 PNR 모드를 실행할 수 있다. 이 명령은 PNR에서 유효하다.The address reset command is used to clear the sector count and the sector address (command number 13.2 in Fig. 11D). After completion of the command, the system can return to PNR mode and resume PNR mode from address 00h. This command is valid in the PNR.

FW 리로드 명령은 플래시 메모리로부터 FW를 재판독하도록 적용되고 호스트로부터의 FW 업데이트가 실패할 때 사용된다 (도 11d에서 명령 번호 13.3).The FW reload command is applied to reread the FW from flash memory and is used when the FW update from the host fails (command number 13.3 in FIG. 11D).

종료 명령은 판독/기입의 종료를 강제하기 위해 사용된다. 이 명령이 일단 입력되면, 새로운 데이터는 더이상 허용되지 않고 버퍼 RAM에 남은 모든 데이터가 플래시 메모리에 기입된다 (도 11d에서 명령 번호 14). 기입 완료후, 시스템은 레 디(Ready)를 호스트로 반환한다. 기입은 통과할 때까지 수행된다. 기입이 기입시간 tPROG에 완료될 수 없으면, 제어는 오류 종료로 진행한다.The end command is used to force the end of the read / write. Once this command is entered, new data is no longer allowed and all remaining data in the buffer RAM is written to the flash memory (command number 14 in Fig. 11D). After writing is complete, the system returns Ready to the host. Writing is performed until it passes. If the write cannot be completed at the write time tPROG, control proceeds to error termination.

FW 업데이트 전송 명령 (도 11d에서 명령 번호 15)은 FW에 의해 야기된 버그가 사용자에게 발송한 후에 발견될 때 FW를 업데이트하기 위해 사용된다. FW 재기입 명령은 시장에서 용이한 FW 업데이트의 실행을 허용하는 환경을 제공하기 위해 사용자에 의한 설정 동안에 준비된다.The Send FW Update command (command number 15 in FIG. 11D) is used to update the FW when a bug caused by the FW is found after sending it to the user. The FW rewrite command is prepared during setup by the user to provide an environment that allows for easy execution of FW updates in the market.

명령의 동작 시퀀스에서, 데이터가 버퍼 RAM에서 업데이트되고 나서 유효화된다. 이 데이터에는 512 바이트의 간격으로 추가적인 CRC16 데이터가 주어진다. 메모리 제어기는 데이터 비교를 실행하고, 실패의 경우, 호스트에게 전송 오류를 돌려준다. SSFDC의 데이터 정정은 실행되지 않는다.In the operational sequence of instructions, data is updated in the buffer RAM and then validated. This data is given additional CRC16 data at intervals of 512 bytes. The memory controller performs a data comparison and, in the event of a failure, returns a transmission error to the host. Data correction of the SSFDC is not performed.

데이터 리프레시 명령 (도 11d에서 명령 번호 16)은 추천된 명령으로서 사용자에게 제시된다. 이 경우, 해로운 영향 (예컨대, 전력 간섭의 가능성 및 전력 소비의 문제)이 명확히 표현된다.The data refresh command (command number 16 in FIG. 11D) is presented to the user as the recommended command. In this case, the detrimental effects (for example, the possibility of power interference and the problem of power consumption) are clearly expressed.

보안 소거 명령 (도 11d에서 명령 번호 17)은 플래시 메모리로부터 MDA 영역에 있는 전체 데이터를 소거하기 위해 사용되는 명령이다.The secure erase command (command number 17 in Fig. 11D) is a command used to erase the entire data in the MDA area from the flash memory.

플러시 캐시(flush cache) (플래시-캐시) 명령 (도 11d에서 명령 번호 18)은 전원차단 전에 호스트로부터의 어느 발행이 추천되는지에 대한 명령이다. 이것은 시스템이 제어기에서 미완료 처리의 전체를 종료하고 레디를 호스트로 반환할 수 있게 한다.The flush cache (flash-cache) command (command number 18 in FIG. 11D) is a command for which issuance from the host is recommended before powering down. This allows the system to terminate all of the incomplete processing at the controller and return the ready to the host.

전송 프로토콜 설정 명령 (도 11e에서 명령 번호 19)은 시스템에서 사용된 조건을 수정하기 위해 사용된다. 수정가능한 조건은 표에 제시된다.The transport protocol setting command (command number 19 in Fig. 11E) is used to correct the condition used in the system. Modifiable conditions are given in the table.

제1 바이트는 ECC/CRC16 검사/정정의 조건 및 전송 섹터 크기 (즉, 섹터 배수)를 설정하기 위해 사용된다. 오류 비트가 ECC 검사 인에이블로 검출될 때, 전송 결과는 상태 레지스터로 통지된다. 이 단계에서의 데이터의 재전송으로, 비오류 정정 데이터가 기입될 수 있다.The first byte is used to set the ECC / CRC16 check / correction condition and the transmission sector size (ie, sector multiple). When an error bit is detected with the ECC check enable, the transfer result is notified to the status register. By retransmission of the data at this stage, non-error correction data can be written.

도 11e의 표에서 제2 바이트는 선택적 판독/기입 양식을 설정하기 위해 사용된다. 구체적으로, 판독 양식으로서, 통상의 판독 유형 A와 대조적으로, 계속 명령 <48h/F8h>의 사용으로 판독 동작을 계속하는 유형 B를 설정하는 것이 가능하다. (B2R)-[Data]-(B2R)을 반복하도록 비지 상태 신호 (B2R)의 사용으로 판독을 계속하는 유형 C를 설정하는 것이 계속 명령의 사용없이 가능하다.The second byte in the table of FIG. 11E is used to set the optional read / write style. Specifically, as the reading mode, it is possible to set type B for continuing the reading operation with the use of the continuation command <48h / F8h>, in contrast to the normal reading type A. It is possible without setting the type C to continue reading by using the busy status signal B2R to repeat (B2R)-[Data]-(B2R).

기입 양식으로서, 통상의 기입 유형 A 및 어드레스 입력을 배제한 기입 동작을 계속하는 유형 B를 설정하는 것이 가능하다.As the writing style, it is possible to set the normal writing type A and the type B which continues the write operation excluding the address input.

최소 비지 시간 설정 명령 (도 11f에서 명령 번호 20)은 표에서 도시된 바와 같이 호스트 검출가능한 최소 비지 시간을 설정하기 위해 적용된다. 메모리 제어기는 최소 비지 시간 보다 더 긴 비지 시간을 설정한다.The minimum busy time setting command (command number 20 in FIG. 11F) is applied to set the host detectable minimum busy time as shown in the table. The memory controller sets a busy time longer than the minimum busy time.

절전 모드 설정 및 취소 명령 (도 11f에서 명령 번호 21 및 도 11g에서 명령 번호 22)은 LBA-NAND 모듈에 대해 저전력 소비 모드를 설정하고 취소하기 위해 사용된다.A power save mode setting and canceling command (command number 21 in FIG. 11F and command number 22 in FIG. 11G) is used to set and cancel the low power consumption mode for the LBA-NAND module.

어드레스 정보 획득 명령 (도 11f에서 명령 번호 23)은 표에 도시된 대로 어드레스 공간 정보를 제공하기 위해 사용된다. 어드레스 공간 정보는 각각 섹터 어 드레스와 섹터 카운트에 할당된 바이트의 수를 보여주는 정보를 포함한다.An address information acquisition command (command number 23 in Fig. 11F) is used to provide address space information as shown in the table. The address space information includes information showing the number of bytes allocated to the sector address and the sector count, respectively.

MDA 영역 용량 획득 명령 (도 11g에서 명령 번호 24)은 각 제품에서 MDA 영역의 할당 크기를 식별하기 위해 사용된다. 구체적으로, 이것은 5 바이트 논리적 어드레스로 표현된 최대 어드레스로서 입/출력 포트에 제공된다. 예컨대, 4G 바이트의 경우에, 5 바이트 데이터는 표에 표시된 대로 형성된다.The MDA area capacity acquisition command (command number 24 in FIG. 11G) is used to identify the allocation size of the MDA area in each product. Specifically, it is provided to the input / output port as the maximum address represented by a 5 byte logical address. For example, in the case of 4G bytes, 5 byte data is formed as indicated in the table.

핀 정보 획득 명령 (도 11h에서 명령 번호 25)은 LBA-NAND 모듈에 의해 검출된 사용자 지정 제어핀의 상황을 보여주기 위해 사용된다. 구체적으로, COME, COM0, COM1의 상황이 표에서와 같이 보여질 수 있다.The pin information acquisition command (command number 25 in Fig. 11H) is used to show the status of the user specified control pin detected by the LBA-NAND module. Specifically, the situation of COME, COM0, COM1 can be seen as in the table.

제어기에서 명령의 의미를 해석하지 않고서, 호스트 장치로부터 LBA-NAND 메모리(20) 내의 호스트 I/F(25)로의 액세스를 NAND 플래시 메모리(21)에게 직접 알림으로써 모드 변경을 수행하는 모드 명령을 통한 통과 (도 11h에서 명령 번호 26); 메모리 제어기 내의 MPU에서 펌웨어의 업데이트에서 사용하기 위한 펌웨어 업데이트 명령 (도 11h에서 명령 번호 27); 및 재판독을 지시하는 판독 재시도 명령 (도 11h에서 명령 번호 28)과 같은 다른 명령들이 있다. Without interpreting the meaning of the command in the controller, the mode command performs a mode change by directly informing the NAND flash memory 21 of access to the host I / F 25 in the LBA-NAND memory 20 from the host device. Passing (command number 26 in FIG. 11H); A firmware update instruction (command number 27 in FIG. 11H) for use in updating the firmware at the MPU in the memory controller; And other commands such as a read retry command (command number 28 in FIG. 11H) to direct the reread.

VFA 단위 획득 명령 (도 11i에서 명령 번호 29)은 각 제품에서 VFA 영역의 할당 크기를 식별하기 위해 사용된다.The VFA unit acquisition command (command number 29 in Fig. 11i) is used to identify the allocation size of the VFA area in each product.

전송 프로토콜 획득 명령 (도 11i에서 명령 번호 30)은 표에 나타난 대로 LBA-NAND 메모리에 대한 데이터 전송 프로토콜을 식별하기 위해 사용된다.The transfer protocol acquisition command (command number 30 in FIG. 11I) is used to identify the data transfer protocol for the LBA-NAND memory as shown in the table.

최소 비지 시간 획득 명령 (도 11i에서 명령 번호 31)은 호스트가 표에 나타난 대로 LBA-NAND 메모리의 동작 상황을 식별할 수 있게 한다.The minimum busy time acquisition command (command number 31 in FIG. 11I) allows the host to identify the operating state of the LBA-NAND memory as shown in the table.

도 12는 상기 명령을 요약하여 도시한다.12 summarizes the commands.

[기본 타이밍도][Basic Timing Diagram]

서로 다른 동작 모드에서의 명령, 어드레스 및 데이터의 입/출력 타이밍에 대해 이하에서 구체적으로 설명한다.The input / output timing of commands, addresses and data in different operation modes will be described in detail below.

도 13은 명령, 어드레스 및 데이터 입력에 대해 보통 적용되는 기본 타이밍의 도면이다. 어드레스 래치 인에이블(ALE), 명령 래치 인에이블(CLE) 등이 유효화된다. 그후, 임의의 설정 시간 대기후, 기입 인에이블(/WE)이 명령 등의 신호 입력을 허용하도록 "L"로 된다. 이 입력 신호는 /WE의 "H"로의 전이에 응답하여 래칭된다.FIG. 13 is a diagram of basic timing normally applied for command, address, and data input. The address latch enable ALE, the instruction latch enable CLE, and the like are enabled. Thereafter, after waiting a certain set time, the write enable / WE is set to " L " to allow input of a signal such as a command. This input signal is latched in response to the transition of / WE to "H".

도 14는 명령 입력의 타이밍도이다. 명령 래치(CLE)가 "H"로 되고, 칩 인에이블(/CE)이 "L"로 되고, 어드레스 래치 인에이블(ALE)이 무효화되고, 기입 인에이블(/WE)이 "L"로 된 후, 명령 "CMD"가 /WE의 "H"로의 전이와 동기하여 입력하기 위하여 허용된다.14 is a timing diagram of command input. The instruction latch CLE is "H", the chip enable (/ CE) is "L", the address latch enable (ALE) is invalidated, and the write enable (/ WE) is "L". The command "CMD" is then allowed to enter in synchronization with the transition of / WE to "H".

도 15는 절전 모드를 위한 명령 입력의 타이밍도로서, 도 14에 도시된 것과 기본적으로 동일하다.15 is a timing diagram of command input for a power saving mode, which is basically the same as that shown in FIG.

도 16은 데이터 판독후 다음 명령 입력의 타이밍도이다. 명령 <00h>와 <30h> 사이에 있는 어드레스 입력은 데이터 판독을 허용한다. 그후, 임의의 비지 후, 판독 인에이블(/RE)은 판독 데이터(Dout0-DoutN)가 이와 동기하여 섹터 기준으로 출력될 수 있게 하기 위해 입력된다.16 is a timing diagram of the next command input after data reading. An address input between commands <00h> and <30h> allows reading of the data. Then, after any busy, the read enable / RE is input to enable the read data Dout0-DoutN to be output on a sector basis in synchronization with this.

그후, 명령 래치 인에이블(CLE)이 다시 "H"로 되고 기입 인에이블(/WE)이 "L"로 될 때, 데이터 판독 후 다음 명령 <00h>이 입력하기 위해 허용된다.Thereafter, when the instruction latch enable CLE goes back to " H " and the write enable / WE goes to " L ", the next command < 00h > is allowed for input after reading data.

도 17은 어드레스 입력의 타이밍도이다. 어드레스 래치 인에이블(ALE)이 "H"로 되고나서 "H"의 지속 동안에, 2 바이트 SC0, SC1의 섹터 카운트 및 3 바이트 SA0, SA1, SA2의 차후의 섹터 어드레스가 기입 인에이블(/WE)과 동기하여 입력된다. 이것은 섹터 카운트와 섹터 어드레스 (초기값)로부터 결정된 논리적 어드레스 범위 내에서 연속적인 데이터 액세스를 가능하게 한다.17 is a timing diagram of an address input. During the duration of " H " after the address latch enable ALE becomes " H ", the sector counts of 2 bytes SC0, SC1 and the subsequent sector addresses of 3 bytes SA0, SA1, SA2 are write enable (/ WE). It is input in synchronization with. This enables continuous data access within the logical address range determined from the sector count and sector address (initial value).

도 18은 절전 모드에서 어드레스 입력의 타이밍도로서 도 17과 기본적으로 동일하다. 명령 래치 인에이블(CLE)의 유효 기간(tADDP) 및 기입 인에이블(/WE)의 "H" 및 "L" 레벨의 기간(tWHP 및 tWPP)의 선택을 통해 절전 모드를 설정하는 것이 가능하다.18 is basically the same as FIG. 17 as a timing diagram of an address input in a power saving mode. It is possible to set the power saving mode through selection of the valid period tADDP of the instruction latch enable CLE and the periods tWHP and tWPP of the "H" and "L" levels of the write enable / WE.

도 19는 데이터 입력의 타이밍도이다. 명령 및 어드레스 입력 후, 기입 인에이블(/WE)과 동기하여 데이터를 입력하는 것이 가능하다.19 is a timing diagram of data input. After command and address input, it is possible to input data in synchronization with the write enable (/ WE).

도 20은 셀 어레이로부터 판독되어 외부로 직렬로 판독되는 데이터의 타이밍도이다. 셀 어레이로부터 판독된 데이터는 1 바이트 기준으로 판독 인에이블(/RE)과 동기하여 직렬로 전송되어 출력될 수 있다. 이 출력 동작 동안에, NAND 플래시 메모리에 대한 기입 동작이 실행될 수 있고 이에 따라 LBA-NAND 메모리는 레디를 출력한다.20 is a timing diagram of data read from a cell array and read out in series. Data read from the cell array may be serially transmitted and output in synchronization with the read enable (/ RE) on a byte basis. During this output operation, a write operation to the NAND flash memory can be executed so that the LBA-NAND memory outputs a ready.

도 21은 상태 데이터 (통과/실패, 레디/비지 및 기타)의 판독 타이밍이다. 기입 인에이블(/WE)과 동기하여, 상태 판독 명령 "CMD"가 입력된다. 그후, 판독 인에이블(/RE)과 동기하여, 상태 "ST"가 판독될 수 있다.21 is a read timing of status data (pass / fail, ready / busy and others). In synchronization with the write enable (/ WE), the status read command "CMD" is input. Then, in synchronization with the read enable (/ RE), the state "ST" can be read.

도 22는 명령 입력 및 어드레스 입력을 포함하는 데이터 판독 주기의 타이밍도이다. 앞서 설명된 바와 같이, 제1 명령 <00h>와 제2 명령 <30h> 사이에 위치한 바와 같이, 섹터 카운트(SC) 및 섹터 어드레스(SA)는 셀 어레이에 대한 판독 동작을 실행하기 위해 입력한다.Fig. 22 is a timing diagram of a data read period including a command input and an address input. As described above, as located between the first command <00h> and the second command <30h>, the sector count SC and the sector address SA are input to perform a read operation on the cell array.

그후, 임의의 비지 시간후, 판독 인에이블(/RE)의 토글을 이용하여, 판독 데이터는 도 20에 도시된 바와 같이 직렬로 출력된다.Then, after any busy time, using the toggle of the read enable (/ RE), the read data is output in series as shown in FIG.

도 23은 전원입력시 직렬 EEP 모드의 설정 타이밍을 도시한다. 전원 인가시 초기 설정후 그리고 LBA-NAND 메모리가 레디로 될 때, 사용자 지정 제어핀에서의 신호 레벨은 모드 설정을 위해 식별된다.23 shows setting timing of the serial EEP mode at power input. After initial setup at power up and when the LBA-NAND memory is ready, the signal level at the user-specified control pin is identified for mode setting.

구체적으로, COME = "H", COM0 = "H" 및 COM1 = "L"로, SPI 모드 (즉, 직렬 EEP 모드)가 설정된다. 명령 <FCh>의 입력은 이 모드를 취소한다.Specifically, with COME = "H", COM0 = "H", and COM1 = "L", the SPI mode (ie, serial EEP mode) is set. The entry of the command <FCh> cancels this mode.

도 24는 PNR 모드 선택을 위한 조건을 요약하여 보여준다. 직렬 EEP 모드는 "PNR with SPI"로 표시된다. 통상의 PNR 모드는 COME = "L"만으로, 또한 COME = "H" 및 COM0 = COM1 = "H", 또는 COME = "H" 및 COM0 = COM1 = "L"로 설정될 수 있다. 이와 달리, 설정은 이 사용자 지정 제어핀들 중 하나가 개방되고 다른 두 개의 핀이 적절한 레벨로 될 때 달성될 수 있다.24 summarizes the conditions for PNR mode selection. Serial EEP mode is indicated as "PNR with SPI". A typical PNR mode may be set to only COME = "L", and also COME = "H" and COM0 = COM1 = "H", or COME = "H" and COM0 = COM1 = "L". Alternatively, the setting can be accomplished when one of these custom control pins is open and the other two pins are at the appropriate level.

[PNR 모드 판독 타이밍][PNR Mode Read Timing]

도 25-28은 PNR 영역에서 전원입력시 판독 동작인 PNR 모드의 타이밍도로서, 오류 검사를 갖는 경우를 도시한다. 이 중에서, 도 25는 비오류 데이터 전송을 도시한다.25-28 are timing diagrams of a PNR mode which is a read operation when power is input in the PNR area, and shows a case of having an error check. 25 shows non-error data transmission.

앞서 설명된 바와 같이, 명령 입력 및 더미 어드레스 입력을 이용하여, 판독은 임의의 비지 시간 후에 시작된다. 상태가 통과 ("P")일 때, 동일한 판독 동작이 최대 256번째 섹터까지 마찬가지로 반복된다.As described above, using the command input and the dummy address input, reading starts after any busy time. When the state is Pass ("P"), the same read operation is repeated up to the 256th sector as well.

도 26은 오류 "E"를 나타내는 상태가 얻어지는 경우에 대한 취급 방법을 도시한다. 오류 "E"의 수신시, 어드레스 제거 명령 "FFh"가 제1 어드레스로부터 판독을 다시 실행하도록 입력된다.Fig. 26 shows a handling method for the case where a state indicating an error "E" is obtained. Upon reception of the error "E", an address removal command "FFh" is input to execute reading again from the first address.

도 27은 오류 "E"를 나타내는 상태가 마찬가지로 얻어질 때 전원 차단, 리부팅, 및 판독을 다시 강제하는 일예를 도시한다.FIG. 27 shows an example of forcing a power off, rebooting, and reading again when a state indicating an error "E" is likewise obtained.

도 28은 호스트가 데이터 검사를 실행하고 데이터 전송 오류를 검출하는 경우에 대한 취급 방법을 도시한다. 이 경우, 오류 검출 수신시, 호스트는 제1 어드레스로부터 다시 한번 판독을 실행하기 위해 어드레스 제거 명령 "FFh"를 입력한다.Fig. 28 shows a handling method for the case where the host executes a data check and detects a data transmission error. In this case, upon receiving the error detection, the host inputs an address removal command " FFh " to execute reading once again from the first address.

도 29는 호스트가 데이터 전송 오류를 검출한 후 동일 데이터를 다시 판독하기 위해 이 데이터의 동일한 섹터 어드레스를 입력하는 경우의 일예를 도시한다.Fig. 29 shows an example in the case where the host inputs the same sector address of this data to read the same data again after detecting the data transmission error.

도 30은 일련의 흐름으로 요약된 도 25-28에서 설명된 PNR 모드 동작을 도시한다. 이 시스템은 시작되고 (단계 S1), 명령 및 어드레스가 입력되어 (단계 S2) 판독 동작을 시작한다.30 illustrates the PNR mode operation described in FIGS. 25-28 summarized in a series of flows. The system is started (step S1), a command and an address are input (step S2) to start a read operation.

오류가 상태 검사로 검출되면 (단계 S3), 오류 시퀀스가 실행된다 (단계 S4). 이 경우, 어드레스 제거 명령 "FFh"는 처음부터 판독 동작을 재시작하기 위해 어드레스를 지우도록 입력된다. 이와 달리, 전원은 처음부터 판독 동작을 재시 작하기 위해 차단된다.If an error is detected by status check (step S3), an error sequence is executed (step S4). In this case, the address removal command " FFh " is input to erase the address in order to restart the read operation from the beginning. Alternatively, the power supply is shut off to restart the read operation from the beginning.

오류가 호스트에서 전송 데이터 검사로 검출되면 (단계 S6), 오류 시퀀스를 실행하거나 (단계 S7) 동일한 어드레스에서 데이터를 재전송하기 위해 (단계 S5) 취급 방법이 선택된다 (단계 S7).If an error is detected by the transmission data check at the host (step S6), a handling method is selected (step S7) to execute the error sequence (step S7) or to retransmit data at the same address (step S5).

하나의 전송 단위의 데이터 전송에서 오류가 없으면, 모든 데이터가 판독되는지 여부가 결정된다 (단계 S8). 판독되지 않으면, 모든 데이터가 판독될 때까지 한 어드레스 증분하면서 동일한 판독 동작이 반복된다 (단계 S9).If there is no error in the data transmission of one transmission unit, it is determined whether all the data are read out (step S8). If not read, the same read operation is repeated while incrementing one address until all data is read (step S9).

[판독을 위한 MDA 액세스 모드][MDA access mode for reading]

MDA 액세스 모드에서의 다양한 액세스 타이밍에 대해 이하에서 설명한다.Various access timings in the MDA access mode are described below.

도 31은 한 섹터가 MDA 영역에서 판독되는 경우의 타이밍도이다. 앞서 설명된 바와 같이, 명령과 함께, 섹터 카운트(M)과 섹터 어드레스(N) (시작 어드레스 LBA)가 입력된다. 그후, 임의의 비지 후, 데이터가 판독 인에이블(/RE)과 동기하여 판독될 수 있다.31 is a timing diagram when one sector is read in the MDA area. As described above, with the command, the sector count M and the sector address N (start address LBA) are input. Thereafter, after any busy, the data can be read in synchronization with the read enable (/ RE).

도 32는 제1 섹터 (LBA = 30h)부터 256번째 섹터 (LBA = 12Fh)까지 연속적으로 동일한 방식으로 판독의 타이밍도이다. 각 섹터가 판독된 후, 명령 및 어드레스가 입력되지만 이것은 더미 어드레스이다. 실제 어드레스는 처음으로 입력된 섹터 어드레스 (초기값) 및 섹터 카운트에 따라 순차적으로 내부적으로 증분된다.32 is a timing diagram of reading in the same manner continuously from the first sector (LBA = 30h) to the 256th sector (LBA = 12Fh). After each sector is read, a command and an address are input but this is a dummy address. The actual address is sequentially incremented internally according to the first entered sector address (initial value) and sector count.

도 33은 동일한 방식으로 제1 섹터 (LBA = 30h)에서 64K번째 섹터 (LBA = 1002Fh)까지 연속적으로 판독의 타이밍도이다.33 is a timing diagram of reading continuously from the first sector (LBA = 30h) to the 64Kth sector (LBA = 1002Fh) in the same manner.

도 34는 판독 시퀀스에서 호스트의 대기 (레디) 동안에 종료 명령 <FBh>을 이용하여 인터럽트되는 판독 동작을 도시한다.34 illustrates a read operation interrupted using the end command <FBh> during the waiting (ready) of the host in the read sequence.

도 35는 멀티 섹터 판독 동안에 데이터 전송 오류가 발생하는 경우의 처리도이다. 호스트가 데이터 전송 오류를 검출할 때, 이것은 LBA-NAND에 재전송을 요청하기 위해 재시도 명령 <31h>을 발행한다. 이것은 동일 데이터가 재판독되게 할 수 있다.35 is a process chart when a data transfer error occurs during multi-sector read. When the host detects a data transfer error, it issues a retry command <31h> to request a retransmission to the LBA-NAND. This may cause the same data to be reread.

도 36은 데이터 전송 오류가 동일한 방식으로 발생하는 경우의 다른 처리도이다. 이 경우, 호스트는 전송 오류를 검출하고 종료 명령 <FBh>을 발행한다. 이것은 판독 동작을 한번 종료하고 판독 명령 및 어드레스 입력으로 다시 판독하는 것을 가능하게 한다.36 is another processing diagram when a data transmission error occurs in the same manner. In this case, the host detects a transmission error and issues an end command <FBh>. This makes it possible to end the read operation once and read back with the read command and address input.

도 37-40은 선택적 판독 유형 B의 판독 타이밍도이다.37-40 are read timing diagrams for optional read type B. FIG.

도 37은 전송 프로토콜 설정 명령이 선택적 판독 유형 B를 설정하기 위해 사용되는 경우, 즉 판독 동작을 계속하기 위해 각 섹터 데이터 판독 후에 계속 명령 <F8h>이 입력될 때의 타이밍도이다. 계속 명령 클록이 출력 요청의 수 (섹터 카운트) 이상 입력되면, 고정값 <FFh>가 출력된다. 한 마디로, LBA-NAND는 고정값을 출력하고 호스트로부터 전송된 종료 명령을 기다리기 위해 대기상태로 된다.Fig. 37 is a timing diagram when a transfer protocol setting command is used to set an optional read type B, i.e., when a continue command <F8h> is input after each sector data read to continue a read operation. When the continue command clock is input over the number of output requests (sector counts), a fixed value <FFh> is output. In short, the LBA-NAND outputs a fixed value and waits for a shutdown command sent from the host.

도 38은 계속 명령 <F8h>가 판독 동작을 계속하기 위해 사용되고 계속된 판독 동작을 종료하기 위해 종료 명령 <FBh>이 사용되는 경우의 타이밍도이다.38 is a timing diagram when the continue command <F8h> is used to continue the read operation and the end command <FBh> is used to end the continued read operation.

도 39는 계속 명령 <F8h>가 판독 동작을 마찬가지로 계속하기 위해 사용되고 직전 판독에서와 동일한 섹터 데이터를 재전송하기 위해 재시도 명령 <31h>가 사용되는 경우의 타이밍도이다.39 is a timing diagram when the continue command <F8h> is used to continue the read operation as well and the retry command <31h> is used to retransmit the same sector data as in the immediately preceding read.

도 40은 계속 명령 <F8h>가 마찬가지로 판독 동작을 계속하기 위해 사용되고 데이터 판독 동작을 생략하도록 인터럽션을 실행하기 위해 동일한 계속 명령 <F8h>이 사용되는 경우의 타이밍도이다. 이 예에서, 한 섹터는 2112 바이트의 데이터 D0-D2112를 포함한다. 제2 섹터 판독 동안, 데이터 D0-D256이 판독될 때 계속 명령 <F8h>이 입력되어, 이에 의해 데이터 판독 동작이 생략된다.40 is a timing diagram when the continue command <F8h> is likewise used to continue the read operation and the same continue command <F8h> is used to execute the interruption so as to omit the data read operation. In this example, one sector contains 2112 bytes of data D0-D2112. During the second sector read, a continuation command <F8h> is input when data D0-D256 is read, thereby skipping the data read operation.

MDA 액세스 모드에서 선택적 판독 양식 C를 이용한 판독 액세스가 도 41-44를 참조하여 다음에 설명된다.Read access using the optional read mode C in the MDA access mode is described next with reference to FIGS. 41-44.

도 41-44는 판독 동작이 섹터 기준으로 판독 동작마다 명령 주기를 찾지 않은 채 계속되는 경우의 타이밍도이다. 도 41은 /RE 입력이 출력 요청의 수를 초과할 때 연속적으로 판독 인에이블(/RE) 만으로 데이터 판독을 실행하고 고정값 <FFh>을 출력하는 예를 도시한다. LBA-NAND 메모리는 고정값을 출력하고 호스트로부터 전송된 종료 명령을 기다린다.41-44 are timing charts when a read operation is continued without finding an instruction period for each read operation on a sector basis. FIG. 41 shows an example in which data reading is executed with only read enable (/ RE) only when the / RE input exceeds the number of output requests and the fixed value <FFh> is output. The LBA-NAND memory outputs a fixed value and waits for a shutdown command sent from the host.

도 42는 도 41에서와 같이 동일한 판독 동작에서 판독 동작을 종료하도록 적용되는 경우의 타이밍도이다.42 is a timing diagram when applied to end the read operation in the same read operation as in FIG. 41.

도 43은 예컨대 도 41에서와 같이 동일한 판독 동작에서, 호스트가 데이터 전송 오류를 검출하고 데이터 전송 재시도 명령 <31h>를 발행하고 동일한 데이터를 재전송하는 경우의 타이밍도이다.FIG. 43 is a timing diagram when the host detects a data transfer error, issues a data transfer retry command <31h>, and retransmits the same data, for example, in the same read operation as in FIG.

도 44는 종료 명령 <FBh>이 판독 동작을 한번 종료하도록 적용되고 도 41에서와 같이 동일한 판독 동작에서 새로운 명령이 판독 동작을 다시 실행하도록 발행되는 경우의 타이밍도이다.FIG. 44 is a timing diagram when an end command <FBh> is applied to end a read operation once and a new command is issued to execute the read operation again in the same read operation as in FIG. 41.

도 45 및 도 46은 판독 동작 동안에 불법 액세스가 발생할 때 MDA 액세스 모드에서의 판독 타이밍도이다. VFA 액세스 모드 및 PNA 액세스 모드는 이 불법 액세스에 대해 동일한 준비를 갖는다.45 and 46 are read timing diagrams in the MDA access mode when illegal access occurs during a read operation. The VFA access mode and the PNA access mode have the same preparation for this illegal access.

도 45는 새로운 명령이 판독 명령의 실행 동안에 이 명령을 종료하지 않고서 입력되는 경우에 관한 것이다. 이 예에서, LBA = 30h에서의 섹터 데이터가 판독된 후, 새로운 명령 및 새로운 어드레스가 입력된다. 이 경우, 새로운 어드레스는 더미로서 취급되고 판독은 이전 입력 어드레스에 따라 연속적으로 실행된다.45 relates to the case where a new command is input without executing this command during execution of a read command. In this example, after the sector data at LBA = 30h is read, a new command and a new address are input. In this case, the new address is treated as a dummy and the read is executed continuously according to the previous input address.

도 46은 새로운 기입 명령이 판독 명령의 실행 동안 이 명령을 종료하지 않고서 입력되는 경우에 관한 것이다. 이 예에서, 이전의 판독 명령은 기입 명령을 유효화하기 위해 자동적으로 종료된다.46 relates to the case where a new write command is input without terminating this command during execution of a read command. In this example, the previous read command is automatically terminated to validate the write command.

SM = 4 또는 8의 섹터 배수의 경우, 판독을 종료하고 섹터 카운트 보다 더 작은 스테이지에서 다음으로 시프트하기 위해, 종료 명령을 발행할 필요가 있다.In the case of sector multiples of SM = 4 or 8, it is necessary to issue an end command in order to end the read and shift to the next stage at a stage smaller than the sector count.

[기입을 위한 MDA 액세스 모드][MDA access mode for writing]

MDA 액세스 모드에서 기입 타이밍의 예가 다음에 설명된다.An example of write timing in the MDA access mode is described next.

도 47은 MDA 액세스 모드에서 하나의 섹터 기입의 타이밍도이다. 기입 명령 및 기입 어드레스 (즉, 섹터 카운트 = 1 및 섹터 어드레스)가 입력되고, 한 섹터의 기입 데이터가 NAND 플래시 메모리로 입력되어 기입된다. 기입 동안, 비지(Busy)가 호스트로 출력된다.47 is a timing diagram of one sector write in MDA access mode. A write command and a write address (i.e., sector count = 1 and sector address) are input, and write data of one sector is input to the NAND flash memory to be written. During writing, Busy is output to the host.

기입의 완료후, 상태 판독 명령 <70h>의 입력은 상태 데이터가 판독되는 것을 허용한다.After completion of writing, input of status read command <70h> allows the status data to be read.

도 48은 동일한 시작 논리적 어드레스 LBA = 30h가 섹터 카운트를 이용하여 설정된 256개의 섹터를 연속적으로 기입하기 위해 사용되는 경우의 타이밍도이다. 각 섹터 기입의 통과가 상태 데이터 ("P")로부터 확인된 후, 더미 어드레스 및 기입 데이터 입력이 256번째 섹터에 대한 연속적인 기입을 위해 반복된다.48 is a timing diagram when the same starting logical address LBA = 30h is used for continuously writing 256 sectors set using the sector count. After the passage of each sector write is confirmed from the state data ("P"), the dummy address and write data input are repeated for successive writes to the 256th sector.

도 49는 더미 어드레스 입력과 함께 64K 섹터에 대한 유사한 연속적인 기입의 타이밍도이다.Figure 49 is a timing diagram of a similar successive write for a 64K sector with a dummy address input.

도 50은 종료 명령 <FBh>가 시작 어드레스 LBA = 30h로부터 시작된 기입 시퀀스 동안 레디 상태 (Ready)에서 입력되어, 이에 의해 기입 시퀀스의 종료가 강제되는 경우에 관한 것이다.Fig. 50 relates to the case where the end command <FBh> is input in the ready state (Ready) during the write sequence started from the start address LBA = 30h, whereby the end of the write sequence is forced.

도 51은 기입 명령의 상태가 기입 오류 ("E")를 나타낼 때 추천되는 처리의 타이밍도이다. 기입 오류가 ECC-정정불능의 것이면, 동일한 어드레스가 재전송을 실행하기 위해 도시된 바와 같이 다시 입력된다.Fig. 51 is a timing diagram of a process recommended when the status of a write command indicates a write error ("E"). If the write error is ECC-uncorrectable, the same address is re-entered as shown to effect retransmission.

도 52에서 도시된 바와 같이, 기입 상태 정보는 I/O 포트에 할당되어 4가지 경우, 즉 통과, ECC-정정가능 전송 오류, ECC-전송불능 전송 오류, 및 기입 실패로 분류된다. 따라서, 이것의 결정은 데이터 재기입의 실행 또는 기입 시퀀스의 종료를 선택하는 것을 가능하게 한다.As shown in FIG. 52, write status information is assigned to an I / O port and classified into four cases: pass, ECC-correctable transmission error, ECC-transmit transmission error, and write failure. Thus, the determination of this makes it possible to select execution of data rewriting or termination of the writing sequence.

도 53은 기입이 명령 <80h> 및 데이터 입력과 함께 그리고 더미 어드레스 입력 없이 계속될 수 있게 하는 선택적 기입 양식의 타이밍도이다.FIG. 53 is a timing diagram of an optional write format that allows writing to continue with command <80h> and data input and without dummy address input. FIG.

도 54 및 도 55는 불법 액세스가 발생하는 경우를 도시한다. 이 불법 액세스에 대한 취급 방법은 PNA 액세스 모드 및 VFA 액세스 모드에 유사하게 적용가능 하다.54 and 55 show cases where illegal access occurs. The handling method for this illegal access is similarly applicable to the PNA access mode and the VFA access mode.

도 54는 기입 명령의 실행 동안 이 명령을 종료함 없이 새로운 기입 명령 및 어드레스가 입력되는 경우에 관한 것이다. 이 경우, 새로운 입력 어드레스는 더미 어드레스로서 취급되고 이에 따라 어드레스 내용이 무시된다. 따라서, 처음 입력된 섹터 카운트 및 어드레스 초기 값으로부터 결정되는 다음 섹터에 대한 기입이 실행된다.54 relates to the case where a new write command and an address are input without ending this command during execution of the write command. In this case, the new input address is treated as a dummy address and therefore the contents of the address are ignored. Thus, writing is performed for the next sector determined from the first input sector count and the address initial value.

도 55는 기입 명령의 실행 동안 판독 명령이 입력되는 경우에 관한 것이다. 이 경우, LBA-NAND 메모리는 기입을 종료하고 판독 명령을 실행한다.55 relates to the case where a read command is input during execution of a write command. In this case, the LBA-NAND memory finishes writing and executes a read command.

[판독을 위한 PNA 액세스 모드][PNA Access Mode for Reading]

PNA 영역으로 액세스하기 위한 모드들 또는 PNA 모드들 중에서, 판독 액세스가 먼저 설명된다. PNA 액세스 모드에서, 액세스 단위는 섹터 길이 2 KB (= 2112 바이트), 최대 섹터 카운트 256개의 섹터, 및 최대 용량 512 KB (= 540,672 바이트)를 갖는다.Among the modes or PNA modes for accessing the PNA region, read access is described first. In the PNA access mode, the access unit has a sector length of 2 KB (= 2112 bytes), a maximum sector count of 256 sectors, and a maximum capacity of 512 KB (= 540,672 bytes).

도 56은 선행 어드레스 LBA = 00h가 256개의 섹터 (즉, 전체 PNA 영역)를 판독하기 위해 입력되는 경우의 타이밍도이다. 2 바이트의 섹터 카운트와 3 바이트의 섹터 어드레스에서, 각각의 처음 1 바이트 <00h> 만이 유효하고 다른 것들은 더미이다.Fig. 56 is a timing diagram when the preceding address LBA = 00h is input to read 256 sectors (i.e., the entire PNA area). At a two byte sector count and a three byte sector address, only the first one byte of each is valid and the others are dummy.

도 57은 종료 명령 <FBh>이 판독 동작을 강제로 종료하기 위해 레디(Ready)의 상태에서 입력되는 경우에 관한 것이다.57 relates to the case where the end command <FBh> is input in the state of Ready to forcibly terminate the read operation.

도 58은 직전 판독 데이터를 다시 출력하기 위해 레디의 상태에서 판독 재시 도 명령 <31h>이 입력되는 경우에 관한 것이다.58 relates to the case where a read retry command <31h> is input in the ready state to output the immediately preceding read data again.

도 59-65는 PNA 액세스 모드에서 선택적 판독 양식을 도시한다. 이들 중에서, 도 59-62는 전송 프로토콜 설정 명령이 판독 유형 B를 설정하도록 적용되는 경우, 즉 계속 명령 <F8h>이 판독 동작을 계속하기 위해 사용되는 경우에 관한 것이다.59-65 illustrate optional read modes in PNA access mode. Among these, FIGS. 59-62 relate to the case where the transfer protocol setting command is applied to set the read type B, that is, the case where the continue command <F8h> is used to continue the read operation.

도 59에서, 계속 명령 <F8h>은 판독 동작을 계속하기 위해 각 섹터 데이터 판독 후에 입력된다. 계속 명령 클록이 출력 요청의 수 (섹터 카운트)를 초과하여 입력되면, 고정값 <FFh>가 출력된다. LBA-NAND 메모리가 고정값을 출력하면, 호스트는 명령을 종료하기 위해 종료 명령을 전송한다.In FIG. 59, the continue command <F8h> is input after each sector data read in order to continue the read operation. If the continue command clock is input beyond the number of output requests (sector counts), a fixed value <FFh> is output. If the LBA-NAND memory outputs a fixed value, the host sends an end command to end the command.

도 60은 계속 명령 <F8h>이 마찬가지로 판독 동작을 계속하기 위해 사용되고 종료 명령 <FBh>이 계속된 판독 동작을 종료하기 위해 사용되는 경우의 타이밍도이다.Fig. 60 is a timing diagram when the continue command <F8h> is likewise used to continue the read operation and the end command <FBh> is used to end the continued read operation.

도 61은 계속 명령 <F8h>가 마찬가지로 판독 동작을 계속하기 위해 사용되고 재시도 명령 <31h>이 직전 판독에서와 같이 동일한 섹터 데이터를 재전송하기 위해 입력되는 경우의 타이밍도이다.Fig. 61 is a timing diagram when a continuation command <F8h> is likewise used to continue a read operation and a retry command <31h> is input to retransmit the same sector data as in the immediately preceding read.

도 62는 계속 명령 <F8h>가 마찬가지로 판독 동작을 계속하기 위해 사용되고 동일한 계속 명령 <F8h>이 데이터 판독 동작을 생략하도록 인터럽션을 실행하기 위해 사용되는 경우의 타이밍도이다. 이 예에서, 한 섹터는 2112 바이트의 데이터 D0-D2112를 포함한다. 제2 섹터 판독 동안, 계속 명령 <F8h>이 데이터 D0-D256가 판독될 때 입력되어, 이에 의해 데이터 판독 동작이 생략된다.FIG. 62 is a timing diagram when a continue command <F8h> is likewise used to continue a read operation and the same continue command <F8h> is used to execute an interruption to omit a data read operation. In this example, one sector contains 2112 bytes of data D0-D2112. During the second sector read, a continuation command <F8h> is input when data D0-D256 is read, whereby the data read operation is omitted.

도 63-65는 전송 프로토콜 설정 명령이 판독 유형 C를 설정하도록 적용되는 경우, 즉 판독 동작이 계속 명령 <F8h>의 사용 없이 계속되는 경우에 관한 것이다. 63-65 relate to the case where the transfer protocol setting command is applied to set the read type C, that is, the read operation continues without the use of the continue command <F8h>.

도 63에서, 섹터 데이터 판독은 연속적으로 반복되어, 이들 사이에 비지 상태 신호가 삽입된다. 섹터 카운트를 초과하는 경우, 고정값 <FFh>가 출력된다. 이 경우, LBA-NAND 메모리는 고정값을 출력하고, 호스트는 명령을 종료하기 위해 종료 명령을 전송한다.In Fig. 63, sector data readout is repeated continuously, and a busy state signal is inserted between them. If the sector count is exceeded, a fixed value <FFh> is output. In this case, the LBA-NAND memory outputs a fixed value, and the host sends an end command to end the command.

도 64는 유사한 판독 유형 C가 판독 동작을 계속하기 위해 적용되고 종료 명령 <FBh>이 계속된 판독 동작을 종료하기 위해 사용되는 경우의 타이밍도이다.64 is a timing diagram when a similar read type C is applied to continue a read operation and an end command <FBh> is used to end a continued read operation.

도 65는 유사한 판독 유형 C가 판독 동작을 계속하기 위해 적용되고 재시도 명령 <31h>이 직전 판독에서와 같이 동일한 섹터 데이터를 재전송하기 위해 입력되는 경우의 타이밍도이다.65 is a timing diagram when a similar read type C is applied to continue a read operation and a retry command <31h> is input to retransmit the same sector data as in the last read.

[기입을 위한 PNA 액세스 모드][PNA Access Mode for Writing]

PNA 액세스 모드의 기입 타이밍이 다음에 설명된다.The write timing of the PNA access mode is described next.

도 66은 선행 어드레스 LBA = 00h 가 PNA 영역에서 모든 섹터 (256개의 섹터)에 대한 기입을 실행하기 위해 입력되는 경우의 타이밍도이다. 기입의 식별이 통과 ("P")를 확인한 후, 더미 어드레스가 연속적인 기입을 실행하기 위해 기입 데이터와 함께 입력된다.Fig. 66 is a timing diagram when the preceding address LBA = 00h is input to execute writing for all sectors (256 sectors) in the PNA area. After the identification of the write confirms a pass (" P "), a dummy address is input along with the write data to perform the continuous write.

도 67은 종료 명령 <FBh>이 기입을 강제로 종료하기 위해 입력되는 경우의 타이밍도이다.Fig. 67 is a timing chart when an end command <FBh> is inputted to forcibly end writing.

도 68은 호스트가 기입 오류 "E"를 검출할 때 기입을 위한 동일 어드레스 및 데이터의 재전송의 예를 도시한다.68 shows an example of retransmission of the same address and data for writing when the host detects a write error "E".

도 69는 전송 프로토콜 설정 명령을 이용하여 설정되는 선택적 기입 양식을 사용하는 기입의 타이밍도이다. 이 경우, 더미 어드레스의 입력 없이, 기입 데이터가 연속적으로 입력되어, 기입 데이터가 64K개의 섹터에 대한 기입을 실행하기 위해 비지 신호들 사이에 삽입되도록 한다.Fig. 69 is a timing diagram of writing using an optional writing format set using a transport protocol setting command. In this case, write data is continuously input without inputting a dummy address, so that write data is inserted between busy signals to perform writing to 64K sectors.

[판독을 위한 VFA 액세스 모드][VFA Access Mode for Reading]

VFA 액세스 모드에서 판독 타이밍이 다음에 설명된다. VFA 영역은 512 바이트 (또는 528 바이트)의 기본 데이터 길이를 갖는다. 이것은 전송 프로토콜 변경 명령을 이용하여 2 KB (= 2112 B: 배수 = 4) 또는 4 KB (= 4224 B: 배수 = 8)로 변경될 수 있다. 이 경우, 확장된 16 바이트의 추가의 적절성, 및 16 바이트의 추가시 데이터 전송 시스템을 식별하는 ECC 기능의 채택의 적절성을 결정하는 것이 가능하다.The read timing in the VFA access mode is described next. The VFA area has a default data length of 512 bytes (or 528 bytes). This can be changed to 2 KB (= 2112 B: multiple = 4) or 4 KB (= 4224 B: multiple = 8) using the transport protocol change command. In this case, it is possible to determine the additional suitability of the extended 16 bytes, and the suitability of the adoption of the ECC function to identify the data transmission system upon the addition of 16 bytes.

VFA 영역의 용량은 VFA 크기조정 명령을 이용하여 크기조정될 수 있다.The capacity of the VFA area can be resized using the VFA resize command.

도 70은 시작 어드레스 LBA = 00h가 VFA의 256개의 섹터에 대한 기본 판독 유형의 판독을 실행하기 위해 입력되는 경우의 타이밍도이다.FIG. 70 is a timing diagram when a start address LBA = 00h is input to execute reading of a basic read type for 256 sectors of the VFA.

도 71은 종료 명령 <FBh>가 판독 동작을 강제로 종료하기 위해 레디의 상태에서 입력되는 경우에 관한 것이다.71 relates to the case where the end command <FBh> is input in the ready state to forcibly terminate the read operation.

도 72는 직전 판독 데이터를 다시 한번 출력하기 위해 레디의 상태에서 재시도 명령 <31h>이 입력되는 경우에 관한 것이다.Fig. 72 relates to the case where a retry command <31h> is input in the ready state to output the immediately preceding read data once again.

도 73-79는 VFA 액세스 모드에서 선택적 판독 양식을 도시한다. 이 중에서, 도 73-76은 전송 프로토콜 설정 명령이 판독 유형 B를 설정하기 위해 적용되는 경우, 즉 계속 명령 <F8h>이 판독 동작을 계속하기 위해 사용되는 경우에 관한 것이다.73-79 illustrate an optional reading format in the VFA access mode. Among these, FIGS. 73-76 relate to the case where the transfer protocol setting command is applied to set the read type B, that is, the case where the continue command <F8h> is used to continue the read operation.

도 73에서, 계속 명령 <F8h>은 판독 동작을 계속하도록 각 섹터 데이터 판독 후에 입력된다. 계속 명령 클록이 출력 요청 (섹터 카운트)의 수를 초과하여 입력되면, 고정값 <FFh>가 출력된다. LBA-NAND 메모리는 이 고정값을 출력하고, 호스트는 명령을 종료하기 위해 종료 명령을 전송한다.In Fig. 73, the continue command <F8h> is input after each sector data read to continue the read operation. If the continue command clock is input beyond the number of output requests (sector counts), a fixed value <FFh> is output. LBA-NAND memory outputs this fixed value, and the host sends an end command to end the command.

도 74는 계속 명령 <F8h>가 마찬가지로 판독 동작을 계속하기 위해 사용되고 종료 명령 <FBh>는 계속된 판독 동작을 종료하기 위해 사용되는 타이밍도이다.74 is a timing diagram in which the continue command <F8h> is likewise used to continue a read operation and the end command <FBh> is used to end a continued read operation.

도 75는 계속 명령 <F8h>가 마찬가지로 판독 동작을 계속하기 위해 사용되고 직전 판독에서와 같이 동일한 섹터 데이터를 재전송하기 위해 재시도 명령 <31h>가 입력되는 경우의 타이밍도이다.FIG. 75 is a timing diagram when the continue command <F8h> is likewise used to continue a read operation and a retry command <31h> is input to retransmit the same sector data as in the immediately preceding read.

도 76은 계속 명령 <F8h>가 마찬가지로 판독 동작을 계속하기 위해 사용되고 데이터 판독 동작을 생략하도록 인터럽션을 실행하기 위해 동일한 계속 명령 <F8h>가 사용되는 경우의 타이밍도이다. 이 예에서, 한 섹터는 528 바이트의 데이터 D0-D527를 포함한다. 제2 섹터 판독 동안에, 계속 명령 <F8h>는 데이터 D0-D256가 판독될 때 입력되어, 이에 의해 데이터 판독 동작이 생략된다.Fig. 76 is a timing diagram when the continue command <F8h> is likewise used to continue the read operation and the same continue command <F8h> is used to execute the interruption so as to omit the data read operation. In this example, one sector contains 528 bytes of data D0-D527. During the second sector read, the continue command <F8h> is input when data D0-D256 is read, thereby omitting the data read operation.

도 77-79는 전송 프로토콜 설정 명령이 판독 유형 C를 설정하도록 적용되는 경우, 즉 판독 동작이 계속 명령 <F8h>의 사용 없이 계속되는 경우에 관한 것이다.77-79 relate to the case where the transfer protocol setting command is applied to set the read type C, that is, the read operation continues without the use of the continue command <F8h>.

도 77은 섹터 데이터 판독이 계속적으로 반복되고, 비지(busy) 상태 신호가 그 사이에 삽입되는 경우에 관한 것이다.Fig. 77 relates to the case where sector data reading is repeatedly repeated, and a busy state signal is inserted therebetween.

도 78은 유사한 판독 유형 C의 계속된 판독 동작을 종료하기 위해 종료 명령 <FBh>가 적용되는 경우의 타이밍도이다.FIG. 78 is a timing diagram when an end command <FBh> is applied to end a continued read operation of similar read type C. FIG.

도 79는 유사한 판독 유형 C가 판독 동작을 계속하도록 적용되고 직전 판독에서와 같이 동일한 섹터 데이터를 재전송하도록 재시도 명령 <31h>가 입력되는 경우의 타이밍도이다.79 is a timing diagram when a similar read type C is applied to continue a read operation and a retry command <31h> is input to retransmit the same sector data as in the immediately preceding read.

[기입을 위한 VFA 액세스 모드][VFA access mode for writing]

도 80은 시작 어드레스 LBA = 00h가 256개의 섹터에 대한 기입을 실행하기 위해 입력되는 경우에 관한 것으로, 명령, 어드레스 및 한 섹터 기입 데이터 입력을 도시한다. 도 81은 기입 확인 통과 ("P")의 수신시 최대 256개의 섹터의 기입 데이터 입력을 도시한다.80 relates to the case where the start address LBA = 00h is input to execute writing to 256 sectors, and shows command, address, and one sector write data input. 81 shows write data input of up to 256 sectors upon receipt of a write confirmation pass (“P”).

도 82는 종료 명령 <FBh>가 시작 어드레스 LBA = 30h 로부터 시작한 기입 시퀀스 동안에 기입 레디 (Ready)의 상태에서 입력되어, 이에 의해 기입 시퀀스가 종료되는 경우에 관한 것이다.82 relates to a case where the end instruction <FBh> is input in the state of a write ready state during the write sequence starting from the start address LBA = 30h, whereby the write sequence is terminated.

도 83은 기입 명령의 상태가 기입 오류 ("E")를 나타낼 때 추천되는 처리의 타이밍도이다. 기입 오류가 정정불능의 것이면, 동일 어드레스가 재전송을 실행하기 위해 도시된 바와 같이 다시 입력된다.83 is a timing diagram of a process recommended when the status of a write command indicates a write error ("E"). If the write error is uncorrectable, the same address is input again as shown to effect retransmission.

도 84는 각 섹터에 대한 기입 데이터가 더미 어드레스의 입력 없이 입력되는 선택적 기입 양식의 타이밍도이다.84 is a timing diagram of an optional write format in which write data for each sector is input without input of a dummy address.

[명령도 개요][Command Diagram Overview]

도 85-87은 상기 판독/기입 액세스의 명령도 개요를 도시한다.85-87 show an instruction diagram overview of the read / write access.

도 85는 PNR 모드가 전원 인가시 설정되는 경우에 관한 것이다. PNR 모드가 설정되고 나서, 명령 "CMD" 및 어드레스 "ADD"가 입력되고, 임의의 비지 시간이 경과한 후, 상태 "ST"가 검사된다.85 relates to the case where the PNR mode is set at power up. After the PNR mode is set, the command "CMD" and the address "ADD" are input, and after a certain busy time has elapsed, the state "ST" is checked.

두 가지 취급 방법이 상태 오류에 대해 제공된다. 하나는 전원을 차단하지 않고서 설정을 재시도하는 명령 <FFh>를 이용하여 초기 PNR 모드 설정으로 복귀하는 방법이다 (어드레스 리셋). 다른 방법은 전원을 차단한 후 전원 인가를 다시 시작하는 방법이다.Two handling methods are provided for status errors. One is to return to the initial PNR mode setting using the command <FFh> which retries the setting without shutting down the power (address reset). Another method is to turn off the power and restart the power supply.

판독 데이터는 전송 검사를 받는다. 전송 오류가 검출될 때, 동일 데이터가 다시 한번 전송된다.The read data is subjected to a transmission test. When a transmission error is detected, the same data is transmitted once again.

도 86은 PNA, VFA, MDA 액세스 모드에서의 판독 액세스에 관한 것이다. 초기 명령을 이용하여 시작 설정을 한 후, 명령 및 어드레스가 입력된다. 그후, 임의의 비지(busy) 후, 상태 "ST"가 검사된다.86 relates to read access in PNA, VFA, MDA access modes. After setting the start using the initial command, the command and address are input. Then, after any busy, the state "ST" is checked.

두 가지 취급 방법이 상태 오류에 대해 제공된다. 하나는 설정을 재시도하는 명령 <FDh>를 이용하여 초기 설정으로 복귀하는 방법이다 (소프트 리셋). 다른 방법은 종료 명령 <FBh>를 발행하고 초기 명령으로 돌아가는 방법이다.Two handling methods are provided for status errors. One is to return to the initial setting using the command <FDh> to retry the setting (soft reset). Another way is to issue a shutdown command <FBh> and return to the initial command.

판독 데이터는 전송 검사를 받는다. 전송 오류가 검출될 때, 동일한 데이터가 다시 한번 전송된다.The read data is subjected to a transmission test. When a transmission error is detected, the same data is transmitted once again.

도 87은 PNA, VFA, MDA 액세스 모드에서의 기입 액세스에 관한 것이다. 초기 명령을 이용하여 시작 설정 후, 명령, 어드레스 및 기입 데이터가 입력된다. 데이터 전송 오류가 상태 "ST"의 검사를 통해 검출되면, 기입 데이터가 다시 입력된다.87 relates to write access in PNA, VFA, MDA access modes. After the start setting using the initial command, the command, address and write data are input. If a data transfer error is detected through checking of the state "ST", write data is input again.

종료 명령 <FBh>는 기입 동작을 종료하기 위해 기입 시퀀스 동안에 발행될 수 있고 그것을 처음부터 재시도할 수 있다. The end command <FBh> may be issued during the write sequence to end the write operation and may retry it from the beginning.

[기타 명령 시퀀스][Other command sequence]

기타 명령 시퀀스의 구체적인 타이밍도에 대해 이하에서 설명된다. 도 88-90은 모드 변경을 위한 명령 시퀀스를 도시한다.Specific timing diagrams of the other instruction sequences are described below. 88-90 illustrate command sequences for mode change.

도 88은 MDA 액세스 모드로 변경하기 위한 변경 명령 <FCh>의 입력 타이밍을 도시한다. 임의의 비지 기간 경과 후, 이 모드는 변경된다. 이것은 (a) PNA 액세스 모드 또는 VFA 액세스 모드로부터 MDA 액세스 모드로의 변경; 및 (b) PNR 액세스 모드 또는 직렬 EEP 모드로부터의 종료에서 사용될 수도 있다. (a)의 경우에서 원래 모드로의 복귀가 가능하다. 그러나, (b)의 경우에는 원래 모드가 전원 인가시에만 설정될 수 있는 판독 모드이기 때문에 원래 모드로 복귀가 가능하지 않다.88 shows input timing of a change command <FCh> for changing to the MDA access mode. After a certain busy period has elapsed, this mode is changed. This may include (a) a change from PNA access mode or VFA access mode to MDA access mode; And (b) termination at PNR access mode or serial EEP mode. In case of (a), it is possible to return to the original mode. However, in the case of (b), it is not possible to return to the original mode because the original mode is a read mode that can be set only when the power is applied.

도 89는 MDA 또는 VFA 액세스 모드에서 PNA 액세스 모드로의 변경을 위한 명령 시퀀스를 도시하고, 도 90은 MDA 또는 PNA 액세스 모드에서 VFA 액세스 모드로의 변경을 도시한다.89 shows a sequence of instructions for changing from MDA or VFA access mode to PNA access mode, and FIG. 90 shows changing from MDA or PNA access mode to VFA access mode.

도 91 및 도 92는 앞서 사용된 명령들 중에서 NOP 명령으로서 등록되는 명령을 도시한다. 도 91에서, <60h>-<D0h>는 과거 소거 명령으로, 적절한 어드레스에서 등록된다. 도 91에서, <FFh>는 과거 리셋 명령으로, PNR 모드에서 어드레스 리셋 명령으로서 유효화된다 (도 85 참조).91 and 92 illustrate commands registered as NOP commands among the commands used above. In FIG. 91, <60h>-<D0h> are past erase commands and are registered at appropriate addresses. In FIG. 91, <FFh> is a past reset command and is validated as an address reset command in the PNR mode (see FIG. 85).

도 93은 메모리 제어기에 필요한 펌웨어(FW) 리로드(reload) 명령 <CMD>의 시퀀스를 도시한다. 제어기가 이 명령을 수신할 때, 이것은 현재 명령을 종료하고 버퍼 RAM으로부터의 데이터의 플래시 메모리 칩으로의 백업 기입을 실행한다 (단계 1). 그후, 이것은 플래시 메모리 칩으로부터 FW를 판독하고 이것을 리로드를 위해 전송한다 (단계 2). 이 명령의 실행 후, 이것은 시스템 부팅을 실행하고 레디(Ready) 상태로 복귀한다. 93 shows a sequence of firmware (FW) reload command <CMD> required for the memory controller. When the controller receives this command, it ends the current command and executes a backup write of data from the buffer RAM to the flash memory chip (step 1). It then reads the FW from the flash memory chip and sends it for reload (step 2). After executing this command, it will boot the system and return to the Ready state.

도 94는 비지(Busy) 상태에 머물러 있을 때 LBA-NAND 메모리를 레디 상태로 강제로 복귀시키도록 사용되는 명령 <FEh>의 타이밍도를 도시한다.FIG. 94 shows a timing diagram of an instruction < FEh > used to force the LBA-NAND memory to return to the ready state when it remains in the busy state.

도 95는 ID 데이터 판독 명령 시퀀스를 도시하는데, 이것은 앞서 설명된 바와 같이 원래 LBA-NAND 메모리로부터 의사 ID 코드 데이터 판독 및 ID 코드 판독을 위한 명령을 준비한다 (도 11b 참조).FIG. 95 shows an ID data read command sequence, which prepares instructions for reading pseudo ID code data and reading ID code from the original LBA-NAND memory as described above (see FIG. 11B).

도 96은 상태 판독 명령 시퀀스를 도시한다. LBA-NAND 메모리는 두 종류의 상태, 즉 명령 <70h>를 이용하여 출력된 일반 상태; 및 도 11c에 도시된 바와 같이 명령 <71h>를 이용하여 출력된 LBA-NAND 특정 상태를 갖는다.96 shows a state read command sequence. The LBA-NAND memory has two kinds of states, namely, a general state output using the command <70h>; And the LBA-NAND specific state output using the command <71h> as shown in FIG. 11C.

도 97은 패스워드 설정 명령의 타이밍도이다. 기본 패스워드는 "FFhFFh"이고 이 기간 동안에 패스워드 인증 기능이 디스에이블된다. 이 명령이 사용자 특정 패스워드를 설정하기 위해 사용된 후, 패스워드 인증 기능이 인에이블된다. 이 명령의 실행시, 상태 검사가 수행되는 것이 바람직하다. 도 97은 통과 "P"가 상태 명령 <71h>를 이용하여 얻어지는 경우를 도시한다.97 is a timing diagram of a password setting command. The default password is "FFhFFh" and the password authentication function is disabled during this period. After this command is used to set a user specific password, the password authentication function is enabled. When executing this command, it is desirable that a state check be performed. Fig. 97 shows the case where pass "P" is obtained using the status command <71h>.

도 98은 VFA 단위 설정 명령의 타이밍도이다. 앞서 설명된 바와 같이, VFA 영역은 확장가능하다. 이 명령을 이용하여 VFA 영역의 용량을 변경하는 것이 가능하다. VFA 영역의 용량이 증가를 얻으면, MDA 영역은 그 증가의 두배의 용량을 손실한다. 이 명령의 실행시, 상태 검사가 수행되는 것이 역시 바람직하다. 도 98은 통과 "P"가 상태 명령 <71h>를 사용하여 얻어지는 경우를 도시한다.98 is a timing diagram of a VFA unit setting command. As described above, the VFA region is expandable. It is possible to change the capacity of the VFA area using this command. If the capacity of the VFA area gains, the MDA area loses twice the capacity of that increase. When executing this command, it is also desirable that a status check be performed. FIG. 98 shows the case where pass "P" is obtained using the status command <71h>.

도 99는 제어기에서 FW 업데이트 후의 리셋 명령의 타이밍도이다. 이 명령이 입력될 때, FW는 버퍼 RAM에서 리프레시되고 (단계 1) 이것은 메모리 칩에서 기입된다 (단계 2). 메모리 칩에 대한 이 데이터 플러시(flush)는 하드웨어 시퀀서(27)를 이용하여 제어될 수 있다.99 is a timing diagram of a reset command after FW update in the controller. When this command is entered, the FW is refreshed in the buffer RAM (step 1) and it is written in the memory chip (step 2). This data flush to the memory chip can be controlled using a hardware sequencer 27.

도 100은 어드레스 제거 명령 <FFh>의 타이밍도이다. 이 명령은 PNR 모드에서만 유효하다.100 is a timing diagram of an address removal command <FFh>. This command is valid only in PNR mode.

도 101은 FW 리로드 명령 <FDh>의 타이밍도이다. 이 명령의 사용으로, FW는 플러시 메모리로부터 재판독되어 제어기에서 버퍼 SRAM으로 로딩될 수 있다. 이 데이터 판독 및 전송은 하드웨어 시퀀서(27)를 이용하여 제어될 수 있다.101 is a timing diagram of an FW reload command <FDh>. Using this command, the FW can be read back from the flush memory and loaded into the buffer SRAM at the controller. This data reading and sending can be controlled using hardware sequencer 27.

도 102는 현재 처리중인 판독/기입의 종료에서 사용을 위한 명령 <FBh>의 시퀀스를 도시한다. 이 명령은 다음과 같이 반응한다.102 shows a sequence of instructions <FBh> for use at the end of the read / write currently being processed. This command responds as follows:

레디(Ready) 기간에서의 데이터 판독 동안에, 데이터 버퍼는 데이터 출력의 완료 후에 소거된다. 기입 데이터가 입력 중이면, 수신된 기입 데이터의 플러시 메모리에 대한 기입 후, 데이터 버퍼가 이 명령을 종료하기 위해 소거된다. 데이터가 판독 중이 아니면, 데이터 버퍼는 이 명령을 종료하기 위해 소거된다. 기입 데이터가 입력 중이 아니면, 이미 수신된 기입 데이터의 플러시 메모리에 대한 기 입 후, 데이터 버퍼는 이 명령을 종료하기 위해 소거된다.During the data read in the Ready period, the data buffer is cleared after completion of the data output. If write data is being input, after writing the received write data to the flush memory, the data buffer is cleared to end this command. If no data is being read, the data buffer is cleared to end this command. If write data is not being input, after writing to the flush memory of write data already received, the data buffer is cleared to end this command.

비지(Busy) 기간 동안에, 어떤 명령도 허용되지 않는다.During the busy period, no commands are allowed.

도 103은 FW 업데이트를 위해 호스트로부터 LBA-NAND 메모리로의 데이터 전송의 명령 시퀀스이다. 528 바이트의 데이터 구조는 512 바이트의 데이터 바디 + 2 바이트의 더미 데이터 + 2 바이트의 CRC16 + 11 바이트의 더미 데이터 + 1 바이트의 어드레스를 포함한다. 마지막 528번째 바이트는 어드레스에 대응한다.103 is a command sequence of data transfer from the host to the LBA-NAND memory for FW update. The data structure of 528 bytes includes 512 bytes of data body + 2 bytes of dummy data + 2 bytes of CRC16 + 11 bytes of dummy data + 1 byte of address. The last 528th byte corresponds to the address.

데이터는 항상 배수 = 4 로 528 바이트 기준으로 데이터 전송을 한다. 도면은 2K 바이트의 데이터 전송 단위를 도시하고 여기서 5 바이트의 어드레스 및 2K 바이트의 데이터가 함께 전송된다. 도시된 예에서, 전송 오류 "실패"가 상태 검사를 통해 검출될 때, 동일 데이터가 다시 전송된다.Data is always multiplied = 4 and is sent on a 528-byte basis. The figure shows a data transmission unit of 2K bytes in which an address of 5 bytes and 2K bytes of data are transmitted together. In the example shown, when a transmission error "failure" is detected via status check, the same data is sent again.

5 바이트 어드레스에서, 제1, 제2, 제4 및 제5 바이트는 더미이고 제3 바이트는 코드 페이지이다.At the five byte address, the first, second, fourth and fifth bytes are dummy and the third byte is a code page.

도 104는 제어기 FW 업데이트의 시퀀스를 도시한다. 호스트 장치 (음악 엔진)은 명령 및 FW 데이터를 LBA-NAND 메모리로 순차적으로 전송한다. LBA-NAND 메모리에서의 호스트 인터페이스가 이들을 수신할 때, 메모리 제어기는 버퍼 SRAM에서 FW를 다운로드한다.104 shows a sequence of controller FW updates. The host device (music engine) sequentially transmits commands and FW data to the LBA-NAND memory. When the host interface in LBA-NAND memory receives them, the memory controller downloads the FW from the buffer SRAM.

호스트가 리셋 명령 <FAh>를 입력하고 LBA-NAND 메모리가 비지로 될 때, FW는 버퍼 SRAM에서 리프레시되고 순차적으로 플래시 메모리로 기입된다.When the host enters the reset command <FAh> and the LBA-NAND memory becomes busy, the FW is refreshed from the buffer SRAM and sequentially written to the flash memory.

도 105는 상기 FW 업데이트 명령에 대한 오류 처리의 개요를 도시한다. 시작 설정 후, 제1 명령 및 어드레스와 데이터가 LBA-NAND 메모리로 전송된다. 데이 터 전송은 상태 "ST"로부터 검사되고, 호스트가 오류를 검출할 때, 데이터는 재전송된다.105 shows an outline of error processing for the FW update command. After the start setting, the first command and address and data are transferred to the LBA-NAND memory. The data transfer is checked from state "ST", and when the host detects an error, the data is retransmitted.

제2 명령의 입력 후, 임의의 비지 기간이 놓이고 나서 동일한 동작이 반복된다. 최종 FW 업데이트 상태 검사에서 오류가 발견될 때, FW 갱신을 포기하도록 이 명령이 소프트 리셋된다. 오류가 발견되지 않을 때, NAND 플래시 메모리에서 FW를 기입하는 기입 명령 FAh가 FW를 갱신하도록 발행된다.After the input of the second command, the same operation is repeated after an arbitrary busy period has been placed. When an error is found in the last FW update status check, this command is soft reset to abandon the FW update. When no error is found, a write command FAh for writing the FW in the NAND flash memory is issued to update the FW.

도 106은 데이터 리프레시 명령의 타이밍도이다. 이 명령은 플래시 메모리에서 기록된 데이터의 일관성을 식별하기 위해 사용된다. 한 블록이 확인 판독 데이터에서 오류를 포함하는 것으로 알려지면, 이것은 예비 블록으로 대체되고 원 블록은 예비 블록으로서 재사용된다.106 is a timing diagram of a data refresh command. This command is used to identify the consistency of the data written in the flash memory. If one block is found to contain an error in the read read data, it is replaced with a spare block and the original block is reused as a spare block.

이 명령은 배경 명령으로 역할하고 Ready/Busy 핀은 Ready 상태를 출력한다. 이 명령의 채택은 데이터 리프레시 상태 명령 및 데이터 리프레시 종료 명령의 새로운 설정을 필요로 한다.This command serves as a background command and the Ready / Busy pin outputs the Ready state. Adoption of this command requires new settings of the data refresh status command and the data refresh end command.

도 107은 보안을 위해 플래시 메모리로부터 MDA 영역 내의 모든 데이터를 소거하기 위해 사용된 명령을 도시한다.107 shows an instruction used to erase all data in the MDA area from flash memory for security.

도 108은 LBA-NAND 메모리에서 실행되는 모든 프로세스를 종료하는 플래시 캐시 명령을 도시하는데, 이 명령은 전원 차단 전에 추천된 입력이다. 즉, 이 명령 <F9h>의 실행과 임의의 비지 기간 후, 레디 상태는 모든 프로세스의 종료를 나타내기 위해 설정된다. 이 상태에서의 전원 차단은 프로세스들이 완전히 종료되지 않을 때 이 상태에서 전원 차단에 의해 야기된 시스템 문제를 피할 수 있다.108 shows a flash cache command to terminate all processes running in LBA-NAND memory, which is the recommended input before powering down. That is, after execution of this command <F9h> and any busy period, the ready state is set to indicate the end of all processes. Powering off in this state can avoid system problems caused by powering down in this state when the processes are not completely shut down.

도 109는 전송 프로토콜 설정 명령의 타이밍도이다. 기본 데이터 전송 포맷은 1 섹터 = 528 바이트의 형태로 ECC 정정된다. 구성 명령 다음의 데이터 입력은 도 11d에 도시된 바와 같이 데이터 전송 프로토콜을 설정하는 것을 가능하게 한다.109 is a timing diagram of a transport protocol setting command. The basic data transmission format is ECC corrected in the form of 1 sector = 528 bytes. The data input following the configuration command makes it possible to set the data transfer protocol as shown in Fig. 11D.

도 110은 최소 비지 시간 설정 명령의 타이밍도이다. 구성 명령 다음의 1 바이트 데이터 입력은 도 11f에 도시된 바와 같이 최소 비지 시간을 결정하는 것을 가능하게 한다. 110 is a timing diagram of a minimum busy time setting command. The one byte data input following the configuration command makes it possible to determine the minimum busy time as shown in Fig. 11F.

도 111은 절전 모드 설정 명령의 타이밍도이다. 이 명령은 판독/기입 액세스를 통상의 동작보다 전력소비가 더 낮은 동작 모드로 가져온다.111 is a timing diagram of a power saving mode setting command. This command brings the read / write access to an operating mode with lower power consumption than normal operation.

도 112는 절전 모드가 판독 동작에 구체적으로 적용되는 경우에 관한 것이다. 절전 모드의 설정은 비지 기간 등을 보통 보다 더 길게 설정하는 것을 가능하게 한다.112 relates to the case where the power saving mode is specifically applied to the read operation. The setting of the power saving mode makes it possible to set the busy period and the like longer than usual.

도 113은 다른 절전 모드 설정 방법을 도시한다. 절전 모드 명령 및 다음 어드레스의 입력 후 비지 기간과 명령 래치 인에이블(CLE)의 타이밍 사이에, 전력 소비를 줄이기 위해 오프셋 시간이 설정된다.113 illustrates another power saving mode setting method. Between the power save mode command and the busy period after input of the next address and the timing of the command latch enable CLE, an offset time is set to reduce power consumption.

도 114는 절전 모드 종료 명령의 타이밍도이다. 이 명령은 절전 모드를 통상의 모드로 리셋하는 것을 가능하게 한다.114 is a timing diagram of a power saving mode end command. This command makes it possible to reset the power saving mode to the normal mode.

도 115는 어드레스 획득 명령의 타이밍도이다. 이 명령은 호스트에게 LBA-NAND 메모리의 어드레스 래치 주기에서의 기본을 통지하는 것을 가능하게 한다.115 is a timing diagram of an address acquisition command. This command makes it possible to notify the host of the base in the address latch period of the LBA-NAND memory.

도 116은 최대 용량 획득 명령의 타이밍도이다. 이 명령은 LBA-NAND 메모리에 의해 지지되는 VFA 영역과 MDA 영역의 합에서 섹터의 총 수를 나타내기 위해 5 바이트 데이터를 사용하는 것을 가능하게 한다. 한 섹터는 512 바이트를 포함한다.116 is a timing diagram of a maximum capacity acquisition command. This command makes it possible to use 5 byte data to indicate the total number of sectors in the sum of the VFA area and the MDA area supported by the LBA-NAND memory. One sector contains 512 bytes.

도 117은 핀 정보 획득 명령의 타이밍도이다. 이 명령은 LBA-NAND 메모리에서 검출된 공통핀 (COME, COM0, COM1)에서의 레벨을 호스트가 식별할 수 있게 한다.117 is a timing diagram of a pin information acquisition command. This command allows the host to identify the level at the common pins (COME, COM0, COM1) detected in the LBA-NAND memory.

도 118은 판독 데이터 재전송 요청 명령의 타이밍도이다. 호스트가 전송 실패를 검출하고 이 명령 <31h>를 입력할 때, LBA-NAND 메모리는 동일한 판독 데이터를 재전송한다.118 is a timing diagram of a read data retransmission request command. When the host detects a transfer failure and enters this command <31h>, the LBA-NAND memory retransmits the same read data.

[추가 실시예]Additional Examples

도 119, 120 및 121은 MDA 및 VFA에 적용되는 3가지 유형의 섹터 판독의 타이밍 차트, 즉 상태 정보 "Status_1"을 갖는 각각 유형 A, B 및 C의 타이밍 차트를 도시한다. 이들 각각은 2 바이트 섹터 카운트(SC) 및 3 바이트 섹터 어드레스(AD)에 의해 시작 어드레스를 특정하는 예이다.119, 120, and 121 show timing charts of three types of sector reads applied to MDA and VFA, that is, timing charts of types A, B, and C, respectively, with status information "Status_1". Each of these is an example of specifying a start address by a 2-byte sector count SC and a 3-byte sector address AD.

전송 데이터 길이가 6개의 옵션으로부터 선택되지만, 512 바이트?N 또는 (512+16 바이트)?N (N=1, 4, 8)이다. 이 예에서, N은 4로 설정된다. 데이터 길이에서 +16 바이트는 CRC, ECC 등에 의한 전송 데이터 검사비트이다. The transmission data length is selected from six options, but is 512 bytes N or (512 + 16 bytes) N (N = 1, 4, 8). In this example, N is set to four. The +16 bytes in the data length are transmission data check bits by CRC, ECC, or the like.

도 119에 도시된 유형 A는 더미 섹터 어드레스 <00h>-<xx>-<30h> (xx는 5바이트 더미 어드레스이다)의 입력이 섹터 N부터 N+3까지의 데이터 판독 후에 수행되고, 다음 섹터 판독이 계속되는 예이다.Type A shown in Fig. 119 is that input of dummy sector addresses < 00h >-< xx >-< 30h > (xx is a 5-byte dummy address) is performed after reading data from sectors N to N + 3, and the next sector. This is an example where reading continues.

도 120에 도시된 유형 B는 다음 섹터 판독이 섹터 N부터 N+3까지의 판독 후 계속 명령 <F8h>의 입력에 의해 계속되는 예이다.Type B shown in FIG. 120 is an example in which the next sector read is continued by the input of the continue command <F8h> after reading from sector N to N + 3.

도 121에 도시된 유형 C는 다음 섹터 판독이 섹터 N부터 N+3까지의 판독 후 계속 명령의 입력 없이 계속되는 예이다.Type C shown in FIG. 121 is an example in which the next sector read continues without input of a continue command after reading from sector N to N + 3.

도 119-121 각각은, 내부 Ready/Busy와는 별도로, I/01 내지 I/08 중에서 I/06을 이용하여, 제1 데이터가 판독되고 섹터 판독의 마지막 데이터 패킷이 도착할 때까지, 비지 상태 (I/06="0")가 "Status_1" 판독에서 연속적으로 표시되는 예를 도시한다.Each of FIGS. 119-121 shows busy state (I) from 1/01 to I / 08, apart from internal Ready / Busy, until the first data is read and the last data packet of sector read arrives. / 06 = "0") shows an example in which "Status_1" is displayed continuously.

"Status_1" 판독은 다음 명령 시퀀스 <70h>- [Status_1 값]으로서 역할한다.The read "Status_1" serves as the next command sequence <70h>-[Status_1 value].

도 122 및 도 123은 MDA 및 VFA에 적용되는 두 가지 유형 섹터 기입의 타이밍 차트, 즉 상태 정보 "Status_1"을 갖는 각각 유형 A 및 B의 타이밍 차트를 도시한다. 이들 각각은 2바이트의 섹터 카운트(SC) 및 3바이트의 섹터 어드레스(AD)에 의해 시작 어드레스를 특정하는 예이다.122 and 123 show timing charts of two type sector writes applied to MDA and VFA, that is, timing charts of type A and B, respectively, with status information "Status_1". Each of these is an example of specifying the start address by a sector count SC of 2 bytes and a sector address AD of 3 bytes.

도 122에 도시된 유형 A는 더미 섹터 어드레스 <80h>-<xx>의 입력이 섹터 N부터 N+3까지의 데이터 기입 후에 수행되고, 다음 섹터 기입이 계속되는 예이다.Type A shown in FIG. 122 is an example in which input of dummy sector addresses < 80h >-< xx > is performed after data writing from sectors N to N + 3, and subsequent sector writing continues.

도 123에 도시된 유형 B는 섹터 N부터 N+3까지의 기입 후 더미 섹터 어드레스의 입력 없이 다음 섹터 판독이 계속되는 예이다.Type B shown in FIG. 123 is an example in which the next sector read is continued without inputting a dummy sector address after writing from sector N to N + 3.

상태 정보 "Status_1"의 판독 모드는 PNR 모드에서의 경우 (도 124), VFA/MDA 모드에서의 경우 (도 125), 및 부팅 코드 유지 모드에서의 경우 (도 126)를 포함한다는 것에 유의한다.Note that the read mode of the status information "Status_1" includes the case in the PNR mode (FIG. 124), the case in the VFA / MDA mode (FIG. 125), and the case in the boot code maintenance mode (FIG. 126).

각 경우에, 데이터 판독 또는 기입이 상기 명령 시퀀스에 따라 [Status_1 값] 판독 후 연속적으로 수행될 때, <00h> 입력에 의해 데이터 판독 모드 또는 데이터 기입 모드로 복귀할 필요가 있다. 도 119-123에 도시된 상태 "Status_1"는 도 125에 도시된 것으로, 여기서 비지 상태는 I/06을 이용하여 섹터 판독 또는 섹터 기입의 마지막 데이터 패킷까지 연속적으로 디스플레이된다.In each case, when data reading or writing is performed continuously after reading [Status_1 value] according to the command sequence, it is necessary to return to the data reading mode or the data writing mode by the input. The states &quot; Status_1 &quot; shown in Figs. 119-123 are shown in Fig. 125, where the busy state is continuously displayed until the last data packet of sector read or sector write using I / 06.

호스트는 LBA-NAND 메모리 시스템이 일련의 섹터 판독/기입 동작에서 동작하는지, 또는 LBA-NAND 메모리 시스템이 상기 일련의 동작을 이미 완료하고 새로운 동작을 수행할 준비가 되어 있는지를 "Status_1"의 I/06을 이용하여 결정할 수 있다.The host may determine whether the LBA-NAND memory system operates in a series of sector read / write operations, or whether the LBA-NAND memory system has already completed the series of operations and is ready to perform a new operation. Can be determined using 06.

예컨대, 섹터 판독을 수행하는 애플리케이션이 멀티 태스크 동작 호스트에서 실행중인 동안에 높은 우선순위 레벨을 갖는 새로운 태스크가 생성되고, LBA-NAND 메모리 시스템에 대한 새로운 액세스가 추구되는 경우를 가정하자. 이 경우, "Status_1"의 I/06이 비지이면, 도 50에 도시된 종료 명령 <FBh>가 발행될 수 있다. 그후, 처리 중인 상기 일련의 동작이 완료된 후, 새로운 태스크에 대응하는 LBA-NAND 메모리 시스템에 대한 액세스가 시작될 수 있다.For example, suppose a new task with a high priority level is created while an application performing a sector read is running on a multi-task operating host, and new access to the LBA-NAND memory system is sought. In this case, if I / 06 of "Status_1" is busy, the termination command <FBh> shown in FIG. 50 may be issued. Thereafter, after the series of operations in process are completed, access to the LBA-NAND memory system corresponding to the new task may begin.

[LBA-NAND 시스템 - 요약]LBA-NAND System-Summary

도 127은 도 8 및 도 9에서 설명된 바와 같이 동작 모드 변경을 포함하는 LBA-NAND 메모리의 동작 모드 개요를 도시한다. 전원 인가시 초기 설정 후, 임의의 명령이 PNA 데이터를 판독하도록 PNR 모드 또는 직렬 EEP 모드를 설정하기 위해 입력되어, 이에 의해 부팅 코드 로드 및 시스템 부팅이 실행된다.FIG. 127 shows an overview of the operation modes of the LBA-NAND memory including an operation mode change as described in FIGS. 8 and 9. After initial setup at power-up, an arbitrary command is entered to set the PNR mode or serial EEP mode to read PNA data, whereby boot code load and system boot are executed.

PNR 모드 또는 직렬 EEP 모드는 변경 명령 <FCh>를 이용하여 MDA 액세스 모 드로 변경될 수 있다. 이 변경 명령은 3개의 영역에 대한 액세스 사이에서, 즉 MDA 액세스 모드, PNA 액세스 모드, 및 VFA 액세스 모드 사이에서 LBA-NAND 액세스 모드를 변경하기 위해 사용될 수 있다. 이 액세스 모드들은 모든 데이터를 버퍼 RAM에서 플래시 메모리로 최종적으로 기입하는 플래시 캐시의 완료 후에 종료된다.The PNR mode or serial EEP mode can be changed to MDA access mode using the change command <FCh>. This change command can be used to change the LBA-NAND access mode between accesses to three areas, namely between MDA access mode, PNA access mode, and VFA access mode. These access modes terminate after completion of the flash cache, which finally writes all data from the buffer RAM to the flash memory.

Claims (16)

호스트(host) 장치에 접속가능한 비휘발성 메모리 시스템으로서,A nonvolatile memory system connectable to a host device, 복수의 데이터 영역을 갖는 비휘발성 메모리; 및A nonvolatile memory having a plurality of data areas; And 상기 비휘발성 메모리에 대한 판독 및 기입 동작을 제어하도록 동작하는 메모리 제어기를 포함하고,A memory controller operative to control read and write operations to the nonvolatile memory; 상기 메모리 제어기는 호스트 장치로부터 제공된 명령 및 섹터 카운트(sector count) 및 섹터 어드레스(sector address)에 따라 상기 비휘발성 메모리의 선택된 데이터 영역 내의 복수의 섹터에 대한 판독/기입 동작을 연속적으로 실행하고,The memory controller continuously executes read / write operations on a plurality of sectors in a selected data area of the nonvolatile memory in accordance with a command provided from a host device and a sector count and a sector address, 상기 메모리 제어기는, 어드레스 래치 인에이블 신호가 활성화될 때 상기 호스트 장치로부터 수신한 데이터가 상기 섹터 카운트 및 상기 섹터 어드레스를 나타내는 것으로 판정하고,The memory controller determines that data received from the host device when the address latch enable signal is activated indicates the sector count and the sector address, 상기 복수의 데이터 영역은, 호스트 시스템용 부팅(booting) 데이터 기록 영역을 포함하고,The plurality of data areas includes a booting data recording area for a host system, 상기 비휘발성 메모리는, 비휘발성 메모리 셀마다 다치(multivalue) 비트의 데이터를 저장하도록 구성되고, 상기 메모리 제어기는 상기 부팅 데이터 기록 영역에서, 1 비트 데이터 저장이 상기 비휘발성 메모리마다 수행되도록 기입 제어를 수행하는, 비휘발성 메모리 시스템.The nonvolatile memory is configured to store multivalue bits of data for each nonvolatile memory cell, and the memory controller performs write control in the boot data write area so that one-bit data storage is performed for each nonvolatile memory. A nonvolatile memory system. 제1항에 있어서,The method of claim 1, 상기 복수의 데이터 영역으로서, 용량 변경 명령의 입력에 따라 용량을 증가/감소시킬 수 있는 제1 애플리케이션 프로그램 영역, 상기 제1 애플리케이션 프로그램 영역의 용량의 증가 또는 감소에 응답하여 용량이 감소 또는 증가되는 제2 애플리케이션 프로그램 영역, 및 상기 부팅 데이터 기록 영역이 제공되는, 비휘발성 메모리 시스템.A first application program area capable of increasing / decreasing capacity according to an input of a capacity change command as the plurality of data areas, and a capacity of which is reduced or increased in response to an increase or decrease in capacity of the first application program area; 2 is provided with an application program area and the boot data recording area. 제2항에 있어서,3. The method of claim 2, 상기 제1 애플리케이션 프로그램 영역은 벤더(vender) 애플리케이션을 위한 프로그램 영역이고, 상기 제2 애플리케이션 프로그램 영역은 최종 사용자 애플리케이션을 위한 프로그램 영역인 비휘발성 메모리 시스템.And the first application program area is a program area for a vendor application, and the second application program area is a program area for an end user application. 제2항에 있어서,3. The method of claim 2, 상기 비휘발성 메모리는, 직렬 연결된 복수의 전기적으로 재기입가능한 비휘발성 메모리 셀을 갖는 복수의 NAND 셀 유닛이 배열되고, 비트선이 선택 게이트 트랜지스터를 통해 상기 NAND 셀 유닛의 일단에 연결되고, 공통 소스선이 선택 트랜지스터를 통해 상기 NAND 셀 유닛의 타단에 연결되는 메모리 셀 어레이를 포함하는, 비휘발성 메모리 시스템.The nonvolatile memory includes a plurality of NAND cell units having a plurality of electrically rewritable nonvolatile memory cells connected in series, bit lines connected to one end of the NAND cell unit through a selection gate transistor, and having a common source. And a memory cell array wherein a line is connected to the other end of the NAND cell unit through a select transistor. 제4항에 있어서,5. The method of claim 4, 상기 메모리 제어기는 상기 부팅 데이터 기록 영역에서, 상기 선택 게이트 트랜지스터에 인접한 셀에 대한 기입이 수행되지 않도록 기입 제어를 수행하는, 비휘발성 메모리 시스템.And the memory controller performs write control in the boot data write area so that writing to a cell adjacent to the selection gate transistor is not performed. 제4항에 있어서,5. The method of claim 4, 상기 메모리 제어기는 상기 부팅 데이터 기록 영역에서, 상기 메모리 셀 어레이의 홀수 페이지들 및 짝수 페이지들 중 하나에 대해서만 기입이 실행되도록 기입 제어를 수행하는, 비휘발성 메모리 시스템.And the memory controller performs write control in the boot data write area such that writing is performed only for one of odd pages and even pages of the memory cell array. 삭제delete 제1항에 있어서,The method of claim 1, 상기 메모리 제어기는,The memory controller, 상기 비휘발성 메모리와의 데이터 전송을 수행하는 제1 인터페이스;A first interface for performing data transfer with the nonvolatile memory; 상기 호스트 장치와의 데이터 전송을 수행하는 제2 인터페이스;A second interface for performing data transfer with the host device; 상기 제1 및 제2 인터페이스에 의해 전송된 데이터를 일시적으로 유지하는 데이터 레지스터; 및A data register to temporarily hold data transmitted by the first and second interfaces; And 상기 제1 및 제2 인터페이스를 통해 데이터 전송을 제어하는 처리 유닛을 포함하는 비휘발성 메모리 시스템.And a processing unit for controlling data transfer via the first and second interfaces. 제2항에 있어서,3. The method of claim 2, 상기 제1 및 제2 애플리케이션 프로그램 영역은 섹터 배수의 선택으로 변경가능하게 설정될 수 있는 판독/기입 데이터 전송 단위를 갖는, 비휘발성 메모리 시스템.And the first and second application program areas have read / write data transfer units that can be set changeably by selection of sector multiples. 제1항에 있어서,The method of claim 1, 상기 복수의 데이터 영역으로서, 용량 변경 명령의 입력에 따라 용량을 증가/감소시킬 수 있는 제1 애플리케이션 프로그램 영역, 상기 제1 애플리케이션 프로그램 영역의 용량의 증가 또는 감소에 응답하여 용량이 감소 또는 증가되는 제2 애플리케이션 프로그램 영역, 상기 부팅 데이터 기록 영역, 및 상기 메모리 제어기를 위한 시스템 데이터 기록 영역이 제공되는, 비휘발성 메모리 시스템.A first application program area capable of increasing / decreasing capacity according to an input of a capacity change command as the plurality of data areas, and a capacity of which is reduced or increased in response to an increase or decrease in capacity of the first application program area; 2 An application program area, the boot data write area, and a system data write area for the memory controller are provided. 제10항에 있어서,The method of claim 10, 전원 인가시 데이터가 상기 부팅 데이터 기록 영역 및 상기 시스템 데이터 기록 영역으로부터 상기 메모리 제어기로 자동으로 판독 입력되고, 그 후에, 상기 부팅 데이터가 상기 호스트 장치로 판독 입력되는 판독 모드를 설정하기 위한 판독 명령이 입력되는, 비휘발성 메모리 시스템.When power is applied, data is automatically read-in from the boot data recording area and the system data recording area into the memory controller, and thereafter, a read command for setting a read mode in which the boot data is read-in to the host device is issued. Input, non-volatile memory system. 제10항에 있어서,The method of claim 10, 상기 제1 및 제2 애플리케이션 프로그램 영역은 섹터 배수의 선택으로 변경가능하게 설정될 수 있는 판독/기입 데이터 전송 단위를 갖는, 비휘발성 메모리 시스템.And the first and second application program areas have read / write data transfer units that can be set changeably by selection of sector multiples. 복수의 데이터 영역을 갖는 비휘발성 메모리 및 상기 비휘발성 메모리에 대한 판독 및 기입 동작을 제어하도록 동작하는 메모리 제어기를 포함하는 비휘발성 메모리 시스템의 데이터 판독/기입 방법으로서, 상기 시스템은 호스트 장치에 접속가능하고,A data reading / writing method of a nonvolatile memory system comprising a nonvolatile memory having a plurality of data regions and a memory controller operative to control read and write operations to the nonvolatile memory, the system being connectable to a host device. and, 상기 방법은,The method, 명령, 섹터 카운트 및 섹터 어드레스를 호스트 장치로부터 제공하는 단계; 및Providing a command, sector count, and sector address from a host device; And 상기 메모리 제어기의 제어하에 상기 호스트 장치로부터 제공된 명령, 섹터 카운트 및 섹터 어드레스에 따라 상기 비휘발성 메모리의 선택된 데이터 영역 내의 복수의 섹터에 대한 판독/기입을 연속적으로 실행하는 단계Continuously executing read / write to a plurality of sectors in a selected data area of the nonvolatile memory according to a command, a sector count and a sector address provided from the host device under the control of the memory controller. 를 포함하고,Including, 상기 메모리 제어기는, 어드레스 래치 인에이블 신호가 활성화될 때 상기 호스트 장치로부터 수신한 데이터가 상기 섹터 카운트 및 상기 섹터 어드레스를 나타내는 것으로 판정하고,The memory controller determines that data received from the host device when the address latch enable signal is activated indicates the sector count and the sector address, 상기 복수의 데이터 영역은, 호스트 시스템용 부팅 데이터 기록 영역을 포함하고,The plurality of data areas includes a boot data recording area for a host system, 상기 비휘발성 메모리는, 비휘발성 메모리 셀마다 다치(multivalue) 비트의 데이터를 저장하도록 구성되고, 상기 메모리 제어기는 상기 부팅 데이터 기록 영역에서, 1 비트 데이터 저장이 상기 비휘발성 메모리마다 수행되도록 기입 제어를 수행하는, 비휘발성 메모리 시스템의 데이터 판독/기입 방법.The nonvolatile memory is configured to store multivalue bits of data for each nonvolatile memory cell, and the memory controller performs write control in the boot data write area so that one-bit data storage is performed for each nonvolatile memory. Performing a data read / write method of a non-volatile memory system. 제13항에 있어서,The method of claim 13, 상기 복수의 데이터 영역으로서, 용량 변경 명령의 입력에 따라 용량을 증가/감소시킬 수 있는 제1 애플리케이션 프로그램 영역, 상기 제1 애플리케이션 프로그램 영역의 용량의 증가 또는 감소에 응답하여 용량이 감소 또는 증가되는 제2 애플리케이션 프로그램 영역, 및 상기 부팅 데이터 기록 영역이 제공되는, 비휘발성 메모리 시스템의 데이터 판독/기입 방법.A first application program area capable of increasing / decreasing capacity according to an input of a capacity change command as the plurality of data areas, and a capacity of which is reduced or increased in response to an increase or decrease in capacity of the first application program area; 2 An application program area and a boot data write area are provided. 제14항에 있어서,The method of claim 14, 상기 제1 및 제2 애플리케이션 프로그램 영역은 섹터 배수의 선택으로 변경가능하게 설정될 수 있는 판독/기입 데이터 전송 단위를 갖는, 비휘발성 메모리 시스템의 데이터 판독/기입 방법.And said first and second application program areas have read / write data transfer units that can be set changeably by selection of sector multiples. 제13항에 있어서,The method of claim 13, 상기 복수의 데이터 영역으로서, 용량 변경 명령의 입력에 따라 용량을 증가/감소시킬 수 있는 제1 애플리케이션 프로그램 영역, 상기 제1 애플리케이션 프로그램 영역의 용량의 증가 또는 감소에 응답하여 용량이 감소 또는 증가되는 제2 애플리케이션 프로그램 영역, 상기 부팅 데이터 기록 영역, 및 상기 메모리 제어기를 위한 시스템 데이터 기록 영역이 제공되는, 비휘발성 메모리 시스템의 데이터 판독/기입 방법.A first application program area capable of increasing / decreasing capacity according to an input of a capacity change command as the plurality of data areas, and a capacity of which is reduced or increased in response to an increase or decrease in capacity of the first application program area; 2 An application program area, the boot data write area, and a system data write area for the memory controller are provided.
KR1020097002078A 2006-07-31 2007-07-31 Nonvolatile memory system, and data read/write method for nonvolatile memory system KR101146059B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JPJP-P-2006-207425 2006-07-31
JP2006207425 2006-07-31
JP2007039375 2007-02-20
JPJP-P-2007-039375 2007-02-20
PCT/JP2007/065333 WO2008016170A1 (en) 2006-07-31 2007-07-31 Nonvolatile memory system, and data read/write method for nonvolatile memory system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020127001406A Division KR20120034746A (en) 2006-07-31 2007-07-31 Nonvolatile memory system, and data read/write method for nonvolatile memory system

Publications (2)

Publication Number Publication Date
KR20090033887A KR20090033887A (en) 2009-04-06
KR101146059B1 true KR101146059B1 (en) 2012-05-14

Family

ID=38997340

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020097002078A KR101146059B1 (en) 2006-07-31 2007-07-31 Nonvolatile memory system, and data read/write method for nonvolatile memory system
KR1020127001406A KR20120034746A (en) 2006-07-31 2007-07-31 Nonvolatile memory system, and data read/write method for nonvolatile memory system

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020127001406A KR20120034746A (en) 2006-07-31 2007-07-31 Nonvolatile memory system, and data read/write method for nonvolatile memory system

Country Status (7)

Country Link
US (3) US7836245B2 (en)
EP (4) EP2211271A3 (en)
JP (1) JP2009545783A (en)
KR (2) KR101146059B1 (en)
CN (1) CN102522118A (en)
TW (1) TWI349289B (en)
WO (1) WO2008016170A1 (en)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019940B2 (en) 2006-12-06 2011-09-13 Fusion-Io, Inc. Apparatus, system, and method for a front-end, distributed raid
US7774540B2 (en) * 2007-12-26 2010-08-10 Hitachi Global Storage Technologies Netherlands B.V. Storage system and method for opportunistic write-verify
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
TWI399651B (en) * 2008-09-12 2013-06-21 Communication protocol method and system for input / output device
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US8289801B2 (en) 2009-09-09 2012-10-16 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
US9021158B2 (en) * 2009-09-09 2015-04-28 SanDisk Technologies, Inc. Program suspend/resume for memory
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
KR20140035769A (en) * 2012-09-14 2014-03-24 삼성전자주식회사 Methods and devices of processing continuous shooting image data
JP6047033B2 (en) * 2013-02-25 2016-12-21 ルネサスエレクトロニクス株式会社 LSI and information processing system
US9703701B2 (en) 2013-03-28 2017-07-11 Hewlett Packard Enterprise Development Lp Address range transfer from first node to second node
WO2014158168A1 (en) 2013-03-28 2014-10-02 Hewlett-Packard Development Company Data flush of group table
US9292379B2 (en) * 2013-09-28 2016-03-22 Intel Corporation Apparatus and method to manage high capacity storage devices
WO2015089488A1 (en) 2013-12-12 2015-06-18 Memory Technologies Llc Channel optimized storage modules
KR20150100075A (en) * 2014-02-24 2015-09-02 삼성전자주식회사 Method of updating firmware of memory device including memory and controller
US9666244B2 (en) 2014-03-01 2017-05-30 Fusion-Io, Inc. Dividing a storage procedure
US9286056B2 (en) 2014-05-19 2016-03-15 International Business Machines Corporation Reducing storage facility code load suspend rate by redundancy check
US9933950B2 (en) 2015-01-16 2018-04-03 Sandisk Technologies Llc Storage operation interrupt
US10423568B2 (en) * 2015-12-21 2019-09-24 Microsemi Solutions (U.S.), Inc. Apparatus and method for transferring data and commands in a memory management environment
JP6274589B1 (en) * 2016-09-28 2018-02-07 ウィンボンド エレクトロニクス コーポレーション Semiconductor memory device and continuous reading method
JP7074453B2 (en) * 2017-10-30 2022-05-24 キオクシア株式会社 Memory system and control method
US10678529B1 (en) * 2017-11-30 2020-06-09 Amazon Technologies, Inc. Secure device firmware installation
US10824376B2 (en) 2017-12-08 2020-11-03 Sandisk Technologies Llc Microcontroller architecture for non-volatile memory
US10622075B2 (en) 2017-12-12 2020-04-14 Sandisk Technologies Llc Hybrid microcontroller architecture for non-volatile memory
DE102019111678A1 (en) * 2018-11-09 2020-05-14 Samsung Electronics Co., Ltd. Wide input / output storage device and method of operating the same
US10777240B1 (en) 2019-03-07 2020-09-15 Sandisk Technologies Llc Efficient control of memory core circuits
US10971199B2 (en) 2019-06-20 2021-04-06 Sandisk Technologies Llc Microcontroller for non-volatile memory with combinational logic
US11507498B2 (en) 2020-03-05 2022-11-22 Sandisk Technologies Llc Pre-computation of memory core control signals
US11841767B2 (en) 2021-11-24 2023-12-12 Samsung Electronics Co., Ltd. Controller controlling non-volatile memory device, storage device including the same, and operating method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100375533B1 (en) * 1997-08-04 2003-03-10 도쿄 엘렉트론 가부시키가이샤 Data processing system, block erasing type memory device and memory medium storing program for controlling memory device
KR20050069218A (en) * 2003-12-31 2005-07-05 삼성전자주식회사 Flash memory system capable of inputting/outputting sector dara at random
JP2006099517A (en) * 2004-09-30 2006-04-13 Tdk Corp Memory controller, flash memory system equipped with memory controller, and method for controlling flash memory

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03266039A (en) * 1990-03-16 1991-11-27 Fujitsu Ltd Free format data link processing system
US5386579A (en) * 1991-09-16 1995-01-31 Integrated Device Technology, Inc. Minimum pin-count multiplexed address/data bus with byte enable and burst address counter support microprocessor transmitting byte enable signals on multiplexed address/data bus having burst address counter for supporting signal datum and burst transfer
JPH07302176A (en) 1994-05-09 1995-11-14 Toshiba Corp Semiconductor disk device
US5603001A (en) * 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
US20030061545A1 (en) * 1994-09-30 2003-03-27 Chandrashekhar S. Patwardhan Method and apparatus for providing test mode access to an instruction cache and microcode rom
US5608892A (en) * 1995-06-09 1997-03-04 Alantec Corporation Active cache for a microprocessor
JPH1185609A (en) * 1997-09-09 1999-03-30 Mitsubishi Electric Corp Semiconductor memory and data managing method therefor
US6460111B1 (en) * 1998-03-09 2002-10-01 Mitsubishi Denki Kabushiki Kaisha Semiconductor disk drive and method of creating an address conversion table based on address information about defective sectors stored in at least one sector indicated by a management code
TW527604B (en) * 1998-10-05 2003-04-11 Toshiba Corp A memory systems
DE19857151A1 (en) * 1998-12-11 2000-06-15 Degussa Powdered, water-soluble chlorhexidine salt, useful e.g. as disinfectant in cosmetics, contains anion from specific sugar acids or their lactones
JP2001051904A (en) * 1999-08-11 2001-02-23 Hitachi Ltd External storage device using non-volatile semiconductor memory
JP2001243691A (en) * 2000-02-28 2001-09-07 Hitachi Ltd Disk drive device
US6684289B1 (en) * 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
JP4772214B2 (en) 2001-06-08 2011-09-14 ルネサスエレクトロニクス株式会社 Nonvolatile memory device and rewrite control method thereof
US6778436B2 (en) * 2001-10-10 2004-08-17 Fong Piau Apparatus and architecture for a compact flash memory controller
JP3816788B2 (en) * 2001-11-22 2006-08-30 株式会社東芝 Nonvolatile semiconductor memory device
US20050268049A1 (en) * 2002-08-30 2005-12-01 Koninklijke Philips Electronics N.V. Dynamic memory management
AU2003268564A1 (en) * 2002-10-28 2004-05-25 Sandisk Corporation Method and apparatus for performing multi-page write operations in a non-volatile memory system
US7039788B1 (en) * 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
JP4550439B2 (en) * 2003-02-28 2010-09-22 東芝メモリシステムズ株式会社 ECC controller
KR20070007265A (en) * 2003-12-30 2007-01-15 쌘디스크 코포레이션 Non-volatile memory and method with control data management
JP4406339B2 (en) * 2004-09-21 2010-01-27 株式会社東芝 Controller, memory card and control method thereof
JP4661191B2 (en) 2004-11-30 2011-03-30 Tdk株式会社 Memory controller, flash memory system, and flash memory control method
JP4843222B2 (en) * 2005-01-11 2011-12-21 株式会社東芝 Semiconductor memory device control method, memory card, and host device
US20060253643A1 (en) * 2005-05-04 2006-11-09 Delkin Devices, Inc. Memory with isolated master boot record

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100375533B1 (en) * 1997-08-04 2003-03-10 도쿄 엘렉트론 가부시키가이샤 Data processing system, block erasing type memory device and memory medium storing program for controlling memory device
KR20050069218A (en) * 2003-12-31 2005-07-05 삼성전자주식회사 Flash memory system capable of inputting/outputting sector dara at random
JP2006099517A (en) * 2004-09-30 2006-04-13 Tdk Corp Memory controller, flash memory system equipped with memory controller, and method for controlling flash memory

Also Published As

Publication number Publication date
KR20090033887A (en) 2009-04-06
EP2211271A2 (en) 2010-07-28
KR20120034746A (en) 2012-04-12
JP2009545783A (en) 2009-12-24
US20090193183A1 (en) 2009-07-30
US7836245B2 (en) 2010-11-16
EP2047368A4 (en) 2009-09-23
EP2211271A3 (en) 2011-04-27
TWI349289B (en) 2011-09-21
EP2428896A1 (en) 2012-03-14
EP2428962A2 (en) 2012-03-14
WO2008016170A1 (en) 2008-02-07
CN102522118A (en) 2012-06-27
US20120072649A1 (en) 2012-03-22
TW200828337A (en) 2008-07-01
EP2047368A1 (en) 2009-04-15
US20110082968A1 (en) 2011-04-07

Similar Documents

Publication Publication Date Title
KR101146059B1 (en) Nonvolatile memory system, and data read/write method for nonvolatile memory system
US7840747B2 (en) Nonvolatile memory system, and data read/write method for nonvolatile memory system
US7350044B2 (en) Data move method and apparatus
US7480762B2 (en) Erase block data splitting
US7761653B2 (en) Flash micro-controller with shadow boot-loader SRAM for dual-device booting of micro-controller and host
KR100939146B1 (en) Non-volatile semiconductor memory system and data write method thereof
JP2004507007A (en) Novel method and structure for performing a reliable data copy process on non-volatile memory
JP4373943B2 (en) Memory controller, flash memory system, and flash memory control method
US8116138B2 (en) Memory device distributed controller system
US20080201553A1 (en) Non-volatile memory system
KR20070090376A (en) Nand flash memory device
KR20110001581A (en) Method of copy-back operation for non-volatile memory device
JP4304167B2 (en) Memory controller, flash memory system, and flash memory control method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
A107 Divisional application of patent
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee