KR20030000017A - Apparatus and Method for controlling flash memories - Google Patents

Apparatus and Method for controlling flash memories Download PDF

Info

Publication number
KR20030000017A
KR20030000017A KR1020020075231A KR20020075231A KR20030000017A KR 20030000017 A KR20030000017 A KR 20030000017A KR 1020020075231 A KR1020020075231 A KR 1020020075231A KR 20020075231 A KR20020075231 A KR 20020075231A KR 20030000017 A KR20030000017 A KR 20030000017A
Authority
KR
South Korea
Prior art keywords
memory
flash memory
data
flash
sector
Prior art date
Application number
KR1020020075231A
Other languages
Korean (ko)
Inventor
한상욱
Original Assignee
(주) 라모스테크놀러지
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 라모스테크놀러지 filed Critical (주) 라모스테크놀러지
Priority to KR1020020075231A priority Critical patent/KR20030000017A/en
Publication of KR20030000017A publication Critical patent/KR20030000017A/en
Priority to US10/727,311 priority patent/US7136986B2/en

Links

Classifications

    • 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/1048Data bus control circuits, e.g. precharging, presetting, equalising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

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

Abstract

PURPOSE: A device and a method for controlling a flash memory are provided to improve the reading and writing speed of the flash memory without increasing the number of the pins of the flash memory control device, and to reduce the time for accessing the flash memories even while plural flash memories are operated parallel. CONSTITUTION: The flash memory controller(30) is connected with a flash memory array(100) via a memory bus(20) and with a host system(50) via a host bus(40). The flash memory array(100) includes plural memory banks(106,108). Each memory bank(106,108) includes plural memory units(102,104). The flash memory(100) is connected to the system bus of a CPU via an input/output interface. The host system(50) transmits the address signals, the data signals, the command signals, and the control signals to the flash memory controller(30). The host system(50) exchanges the data in the sector unit with the memory array(100) via the memory controller(30). If the data are the data of more than two sectors, the memory controller(30) simultaneously programs the sector data in the enabled memory units(102,104). If the data are one sector data, one memory unit(102,104) is enabled.

Description

플래시 메모리 제어 장치 및 플래시 메모리 제어 방법 {Apparatus and Method for controlling flash memories}Flash memory control device and flash memory control method {Apparatus and Method for controlling flash memories}

본 발명은 메모리 반도체 기술에 관한 것으로서, 좀 더 구체적으로는 핀 수의 증가없이 플래시 메모리의 동작 속도를 높일 수 있는 플래시 메모리 제어 장치 및 방법에 관한 것이다.The present invention relates to a memory semiconductor technology, and more particularly to a flash memory control apparatus and method that can increase the operating speed of the flash memory without increasing the number of pins.

다양한 휴대용 전자기기와 임베디드 소자에서 요구하는 데이터 기억 용량이 증가하면서 플래시 메모리형 EEPROM (Electrically Erasable Programmable Read Only Memory)에 대한 수요가 늘고 있다. 플래시 메모리는 대용량 데이터 저장 장치 예컨대, 하드 디스크를 대체하는 역할을 하는데, 그 외에도 PCMCIA 플래시 카드나 MP3 플레이어, 디지털 음성 녹음기에 응용되거나 라우터에 사용되는 RISC CPU나 휴대폰에 사용되는 DSP와 같은 임베디드 프로세서를 위한 프로그램 코드를 저장하는 기능을 한다.As the data storage capacity required by various portable electronics and embedded devices increases, the demand for flash memory type EEPROM (Electrically Erasable Programmable Read Only Memory) is increasing. Flash memory serves as a replacement for mass data storage devices, such as hard disks, but also includes embedded processors such as PCMCIA flash cards, MP3 players, digital voice recorders, RISC CPUs used in routers, or DSPs used in mobile phones. Function to save program code.

플래시 메모리는 호스트 시스템(예컨대, PC나 휴대용 전자기기)과 플래시 메모리 사이에 연결되는 제어기(controller)에 의해 데이터 입출력이 제어된다. 플래시 메모리에 데이터를 쓰는 동작(또는 프로그램하는 동작)과 플래시 메모리로부터 데이터를 읽는 동작에는 시간이 많이 걸린다. 이러한 이유로 플래시 메모리 제어 시스템에서는 플래시 메모리에 대한 데이터 읽기와 쓰기에 걸리는 시간을 줄이는 것이 가장 중요한 기술적인 과제 중 하나이다. 종래 기술에서 데이터 읽기 쓰기 속도를 높이기 위해, 소프트웨어를 최적화하는 방법이나 주파수를 증가시키는 방법(예컨대, 호스트 시스템에서 입력되는 데이터를 처리하는 메모리 제어기의 동작 속도를 높이거나, 메모리 제어기와 플래시 메모리 사이의 인터페이스 속도를 높이는 것) 또는 여러 플래시 메모리를 병렬로 연결하는 방법을 사용하였다. 그런데, 종래 소프트웨어 최적화 기술에는 호스트 시스템이나 플래시 메모리 제어 시스템의 구성에 따라 한계가 있고, 주파수 증가 방법은 플래시 메모리의 동작 한계와 시스템의 전류 증가로 인하여 속도 향상이 제한된다는 단점이 있다.In the flash memory, data input / output is controlled by a controller connected between the host system (eg, a PC or a portable electronic device) and the flash memory. Writing (or programming) data to and from the flash memory takes a lot of time. For this reason, reducing the time taken to read and write data to and from a flash memory control system is one of the most important technical challenges. In the prior art, in order to speed up data read and write, a method of optimizing software or increasing frequency (for example, speeding up an operation of a memory controller that processes data input from a host system, or between a memory controller and a flash memory) To speed up the interface) or to connect several flash memories in parallel. However, the conventional software optimization technique has limitations according to the configuration of the host system or the flash memory control system, and the frequency increase method has a disadvantage in that the speed improvement is limited due to the operation limit of the flash memory and the increase in the current of the system.

한편, 플래시 메모리를 병렬로 연결하는 종래 기술에서는 예컨대, 2개의 플래시 메모리 칩을 독립적으로 제어하기 때문에 제어기는 병렬로 연결된 플래시 메모리를 독립적으로 액세스하기 위한 병렬 연결 가능한 수만큼의 제어 신호 인터페이스 핀과 병렬 연결이 가능한 수만큼의 데이터 인터페이스 핀이 필요하게 된다. 또한, 병렬로 연결된 각각의 플래시 메모리를 별개로 제어해야 하기 때문에 병렬로 연결된 플래시 메모리의 수만큼 프로그램이 길어진다는 단점이 있다.On the other hand, in the prior art of connecting the flash memory in parallel, for example, because the two flash memory chips are controlled independently, the controller is parallel to the number of parallel control signal interface pins to independently access the connected flash memory in parallel. You will need as many data interface pins as you can connect. In addition, since each flash memory connected in parallel must be controlled separately, there is a disadvantage that a program is lengthened by the number of flash memories connected in parallel.

본 발명의 목적은 플래시 메모리 제어 장치의 핀수 증가 없이 플래시 메모리에 대한 읽기/쓰기 속도를 향상시키는 것이다.An object of the present invention is to improve the read / write speed for a flash memory without increasing the pin count of the flash memory control device.

본 발명의 다른 목적은 복수의 플래시 메모리를 병렬로 동작시키면서도 플래시 메모리 각각의 액세스에 필요한 시간을 줄이는 것이다.Another object of the present invention is to reduce the time required to access each flash memory while operating a plurality of flash memories in parallel.

도 1은 본 발명에 따른 플래시 메모리 제어 시스템과 호스트 시스템 및 플래시 메모리 어레이와의 전체적인 연결 구조를 나타내는 블록 회로도.1 is a block circuit diagram showing an overall connection structure of a flash memory control system, a host system and a flash memory array according to the present invention.

도 2는 본 발명의 일구현예에 따른 메모리 유닛의 데이터 저장 구조를 나타내는 블록 회로도.2 is a block circuit diagram illustrating a data storage structure of a memory unit according to an embodiment of the present invention.

도 3은 본 발명에 따른 플래시 메모리 제어 과정을 나타내는 흐름도.3 is a flowchart illustrating a flash memory control process according to the present invention;

<도면의 주요 부호에 대한 설명><Description of Major Symbols in Drawing>

12, 22: 칩 선택 신호 버스14, 24: 상태 신호 버스12, 22: chip select signal bus 14, 24: status signal bus

16, 26: 데이터 신호 버스18: 제어 신호 버스16, 26: data signal bus 18: control signal bus

20: 메모리 버스30: 플래시 메모리 제어기20: memory bus 30: flash memory controller

40: 호스트 버스50: 호스트 시스템40: host bus 50: host system

100: 플래시 메모리 어레이102, 104: 플래시 메모리 유닛100: flash memory array 102, 104: flash memory unit

106, 108: 플래시 메모리 뱅크112: 페이지106, 108: Flash Memory Bank 112: Page

114: 블록116: I/O 버퍼114: block 116: I / O buffer

123, 127, 133, 135: 섹터123, 127, 133, 135: sector

본 발명에 따른 플래시 메모리 제어 장치는 호스트 시스템과 플래시 메모리 어레이 사이에 연결되어 호스트 시스템으로부터 섹터 단위의 데이터를 상기 플래시 메모리 어레이에 전달하는데, 여기서 플래시 메모리 어레이는 복수의 메모리 뱅크를 포함하고, 상기 복수의 메모리 뱅크 각각은 복수의 메모리 유닛을 포함하고, 상기 복수의 메모리 유닛 각각은 복수의 메모리 블록을 포함하며, 상기 복수의 메모리 블록 각각은 복수의 페이지를 포함하고, 상기 복수의 페이지 각각은 하나 이상의 섹터를 포함한다. 플래시 메모리 제어 장치는 호스트 시스템으로부터 수신한 데이터가 서로 다른 메모리 유닛에 대한 2개 이상의 섹터 데이터인 경우에는 상기 데이터를 보내도록 지정된(addressed) 서로 다른 메모리 유닛을 동시에 인에이블하여 2개의 섹터 데이터를 인에이블된 메모리 유닛들에 동시에 프로그램하는 한편, 플래시 메모리 제어기가 호스트로부터 수신한 데이터가 하나의 섹터 데이터인 경우에 플래시 메모리 제어기는 섹터 데이터를 보내도록 지정된 하나의 메모리 유닛을 인에이블하여 이 메모리 유닛에 상기 수신한 섹터 데이터를 프로그램하는 것을 특징으로 한다.The flash memory control apparatus according to the present invention is connected between a host system and a flash memory array to transfer sector-by-sector data from the host system to the flash memory array, wherein the flash memory array includes a plurality of memory banks. Each of the plurality of memory banks includes a plurality of memory units, each of the plurality of memory units including a plurality of memory blocks, each of the plurality of memory blocks including a plurality of pages, each of the plurality of pages being one or more Include sectors. If the data received from the host system is two or more sector data for different memory units, the flash memory control device simultaneously enables two different memory units addressed to send the data, thereby enabling the two sector data to be received. While simultaneously programming the enabled memory units, if the data received from the host by the flash memory controller is one sector data, the flash memory controller enables one memory unit designated to send sector data to this memory unit. Program the received sector data.

본 발명의 다른 특징에 따른 플래시 메모리 제어 장치는, 병렬로 연결된 복수의 메모리 뱅크와 병렬로 연결 가능한 수만큼의 데이터 인터페이스 핀을 포함하고, 플래시 메모리 제어 장치와 플래시 메모리 어레이는 제어 신호 인터페이스 핀을 공유하며, 상기 데이터 인터페이스 핀과 칩 선택 신호 핀은 플래시 메모리 제어 장치와 플래시 메모리 어레이의 복수의 메모리 뱅크 사이에서 독립적으로 연결되어 있다.A flash memory control device according to another aspect of the present invention includes a number of data interface pins that can be connected in parallel with a plurality of memory banks connected in parallel, and the flash memory control device and the flash memory array share control signal interface pins. The data interface pin and the chip select signal pin are independently connected between the flash memory controller and the plurality of memory banks of the flash memory array.

본 발명에 따른 플래시 메모리 제어 방법은 호스트 시스템으로부터 플래시 메모리에 대한 논리 어드레스를 수신하여 물리 어드레스로 변환하는 단계와, 호스트 시스템에서 플래시 메모리에 기록하고자 하는 섹터의 개수를 판단하는 단계와,상기 판단 단계에서, 섹터의 개수가 '1'인 경우에는 하나의 섹터 데이터를 수신하고 뱅크를 계산하여 이에 해당하는 하나의 플래시 메모리 뱅크를 인에이블하고, 섹터의 개수가 '2' 이상인 경우에는 2개의 섹터 데이터를 수신하고 이에 해당하는 2개의 플래시 메모리 뱅크를 인에이블하는 단계와, 상기 인에이블된 메모리 뱅크의 상기 물리 어드레스에 의해 지정된 메모리 블록에 대해 플래시 쓰기 동작을 시작하는 단계를 포함한다. 2개의 메모리 뱅크가 인에이블된 경우에는 예컨대, 제1 데이터 버스[0:7]를 통해 제1 플래시 메모리에 데이터를 기록함과 동시에 제2 데이터 버스[8:15]를 통해 제2 플래시 메모리에도 데이터를 기록한다.The flash memory control method according to the present invention comprises the steps of receiving a logical address for the flash memory from the host system to convert to a physical address, determining the number of sectors to be written to the flash memory in the host system, the determination step In the case where the number of sectors is '1', one sector data is received and the bank is calculated and the corresponding one flash memory bank is enabled, and when the number of sectors is '2' or more, two sector data are received. Receiving and enabling two corresponding flash memory banks and initiating a flash write operation for a memory block designated by the physical address of the enabled memory bank. When two memory banks are enabled, for example, data is written to the first flash memory via the first data bus [0: 7] and data is also written to the second flash memory via the second data bus [8:15]. Record it.

구현예Embodiment

이하 도면을 참조로 본 발명의 구현예에 대하여 설명한다.Embodiments of the present invention will be described below with reference to the drawings.

도 1은 본 발명에 따른 플래시 메모리 제어 시스템과 호스트 시스템 및 플래시 메모리 어레이와의 전체적인 연결 구조를 나타내는 블록 회로도이다.1 is a block circuit diagram illustrating an overall connection structure of a flash memory control system, a host system, and a flash memory array according to the present invention.

플래시 메모리 제어기(30)는 메모리 버스(20)를 통해 플래시 메모리 어레이(100)와 연결되고, 호스트 버스(40)를 통해 호스트 시스템(50)과 연결되어 있다. 호스트 버스(40)는 예컨대, 16-비트 데이터 라인이 될 수 있다. 플래시 메모리 어레이(100)는 복수의 메모리 뱅크(106, 108)를 포함하며, 메모리 뱅크 각각은 복수의 메모리 유닛(102, 104)을 포함한다. 이 구현예에서는 2개의 메모리 뱅크(106, 108)를 나타내었지만, 메모리 어레이(100)가 3개 이상의 메모리 뱅크를 포함하는 것도 가능하다. 메모리 유닛(102, 104)은 예컨대, 16개의 메모리 셀이 직렬로 연결된 NAND형 플래시 메모리이다. 호스트(50)는 PC와 같은 OS 기반의 프로세서(processor)이거나 OS가 없는 임베디드 시스템(embedded system)의 프로세서 칩이 될 수도 있다. 호스트(50)가 OS 프로세서인 경우, 플래시 메모리(100)는 표준 주변장치 중 하나로 동작하며 IDE 디스크 드라이브와 같은 I/O 인터페이스를 통해 CPU의 시스템 버스와 연결된다. 호스트 시스템(50)은 호스트 버스(40)를 통해 어드레스 신호와 데이터 신호, 명령 신호 및 제어 신호를 메모리 제어기(30)로 전송한다. 호스트(50)는 메모리 제어기(30)를 통해 메모리 어레이(100)와 섹터 단위의 데이터를 주고받는다. 하나의 섹터는 예컨대, 512-바이트의 사용자 데이터와 ECC (Error Coding and Correction) 데이터로 구성될 수 있다.The flash memory controller 30 is connected to the flash memory array 100 through the memory bus 20 and to the host system 50 through the host bus 40. Host bus 40 may be, for example, a 16-bit data line. The flash memory array 100 includes a plurality of memory banks 106 and 108, each of which includes a plurality of memory units 102 and 104. Although two memory banks 106 and 108 are shown in this implementation, it is also possible for memory array 100 to include three or more memory banks. The memory units 102 and 104 are, for example, NAND flash memory in which 16 memory cells are connected in series. The host 50 may be an OS-based processor such as a PC or a processor chip of an embedded system without an OS. If the host 50 is an OS processor, the flash memory 100 operates as one of the standard peripherals and is connected to the system bus of the CPU through an I / O interface such as an IDE disk drive. The host system 50 transmits an address signal, a data signal, a command signal, and a control signal to the memory controller 30 through the host bus 40. The host 50 exchanges data in sector units with the memory array 100 through the memory controller 30. One sector may consist of, for example, 512-byte user data and Error Coding and Correction (ECC) data.

메모리 제어기(30)는 메모리 버스(20)를 통해 메모리 어레이(100)와 데이터를 주고받고, 메모리 어레이(100)의 동작을 제어한다. 메모리 버스(20)는 제1 플래시 메모리(102, FM0)에 대한 칩 선택 신호(chip enable(CE) 신호) 버스(12), 상태 신호 버스(14), 데이터 버스(16)와 제2 플래시 메모리(104, FM1)에 대한 칩 선택 신호 버스(22), 상태 신호 버스(24), 데이터 버스(26) 및 제1 플래시 메모리(102)와 제2 플래시 메모리(104)에 공통으로 연결되어 있는 제어 신호 버스(18)를 포함한다. 제어 신호 버스(18)는 분기되어 제1 플래시 메모리(102)와 연결되는 제1 제어 신호 버스(18a)와, 제2 플래시 메모리(104)와 연결되는 제2 제어 신호 버스(18b)를 포함한다.The memory controller 30 exchanges data with the memory array 100 through the memory bus 20 and controls the operation of the memory array 100. The memory bus 20 may include a chip enable (CE) signal 12, a state signal bus 14, a data bus 16, and a second flash memory for the first flash memory 102 and FM0. Controls commonly connected to the chip select signal bus 22, the state signal bus 24, the data bus 26, and the first flash memory 102 and the second flash memory 104 for (104, FM1). A signal bus 18. The control signal bus 18 includes a first control signal bus 18a branched and connected to the first flash memory 102, and a second control signal bus 18b connected to the second flash memory 104. .

이 구현예에서 메모리 제어기(30)에서 출력되는 칩 선택 신호(CE)는 각각의 플래시 메모리(102, 104)에 대해 별도의 버스(12, 22)를 통해 공급되기 때문에, 복수의 플래시 메모리 유닛을 동시에 인에이블하거나 하나만 인에이블하는 것이 가능하다. 또한, 플래시 메모리(102, 104)에 대한 제어 신호는 공통으로 접속되어 있는 데에 비해, 데이터 신호는 별도의 버스를 통해 별개로 공급된다. 따라서, 이 구현예에 따르면, 메모리 제어기(30)는 호스트(50)로부터 수신한 데이터가 서로 다른 메모리 유닛에 대한 2개 이상의 섹터 데이터인 경우에는 데이터를 보내도록 지정된(addessed) 서로 다른 2개의 메모리 유닛을 동시에 인에이블하여 2개의 섹터 데이터를 인에이블된 메모리 유닛들에 동시에 프로그램하고, 한편 메모리 제어기(30)가 호스트(50)로부터 수신한 데이터가 하나의 섹터 데이터인 경우에는 하나의 메모리 유닛을 인에이블하여 이 메모리 유닛에 상기 수신한 섹터 데이터를 프로그램하는 것이 가능하다.In this embodiment, since the chip select signal CE output from the memory controller 30 is supplied through separate buses 12 and 22 for each of the flash memories 102 and 104, a plurality of flash memory units may be provided. It is possible to enable at the same time or only one. In addition, while the control signals for the flash memories 102 and 104 are commonly connected, the data signals are supplied separately through separate buses. Thus, according to this embodiment, the memory controller 30 is configured to send data if the data received from the host 50 is two or more sector data for different memory units. Simultaneously enable the unit to program two sector data simultaneously into the enabled memory units, and if the data received from the host 50 by the memory controller 30 is one sector data, then one memory unit It is possible to enable and program the received sector data in this memory unit.

플래시 메모리 제어기(30)는 예컨대, 제어 칩, 플래시 제어 블록을 포함할 수 있다. 이 경우, 제어칩은 SRAM, 코어, MMU, 인터럽트 제어, 섹터 버퍼, 리맵(remap), CR 인터페이스 등을 위한 회로 소자를 포함할 수 있다. 제어 칩은 플래시 제어 블록을 통해 보내고자 하는 데이터의 크기에 따라 CE 신호를 활성화(active)하고, 각각의 메모리 뱅크에 있는 ECC를 통하여 데이터를 각각의 메모리 뱅크에 보낸다.The flash memory controller 30 may include, for example, a control chip and a flash control block. In this case, the control chip may include circuit elements for SRAM, core, MMU, interrupt control, sector buffer, remap, CR interface, and the like. The control chip activates the CE signal according to the size of data to be sent through the flash control block, and sends data to each memory bank through an ECC in each memory bank.

도 2는 본 발명의 일구현예에 따른 메모리 유닛의 데이터 저장 구조를 나타내는 블록 회로도이다.2 is a block circuit diagram illustrating a data storage structure of a memory unit according to an embodiment of the present invention.

하나의 메모리 유닛(102)은 복수의 메모리 블록(114) 즉, 블록 0, 블록 1, …, 블록 [N-1]을 포함하며, 하나의 메모리 블록은 복수의 페이지(112) 즉, 페이지 0, 페이지 1, …, 페이지 [M-1]를 포함한다. 하나의 페이지(112)는 복수의섹터(123, 127, 131, 135)를 포함한다. 각각의 섹터는 사용자 데이터(122, 126, 130, 134)와 이에 각각 대응되는 ECC 데이터(124, 128, 132, 136)로 구성된다. 하나의 사용자 데이터는 예컨대, 512-바이트이고 ECC 데이터는 8-바이트이다. ECC 데이터는 ECC 블록의 구성에 따라 그 크기가 달라지며, 예컨대, 각각의 섹터의 사용자 데이터에 대한 에러 검출과 보정 동작을 메모리 제어기(30)에서 수행하는 데에 사용된다. 도 2에는 하나의 페이지가 4개의 섹터를 갖는 2k-바이트 페이지를 나타내었지만, 메모리 유닛의 용량이 1G 이하인 경우에는 페이지와 섹터를 512-바이트로 동일하게 할 수도 있다. 본 발명의 일구현예에서는 하나의 메모리 블록에 64개의 페이지를 구성할 수 있고, 하나의 메모리 유닛에 모두 2,048개의 메모리 블록을 구성할 수 있다.One memory unit 102 includes a plurality of memory blocks 114, i.e., block 0, block 1,... , Block [N-1], and one memory block includes a plurality of pages 112, that is, page 0, page 1,. , Page [M-1]. One page 112 includes a plurality of sectors 123, 127, 131, and 135. Each sector consists of user data 122, 126, 130, and 134 and corresponding ECC data 124, 128, 132, and 136, respectively. One user data is for example 512-bytes and ECC data is 8-bytes. The ECC data varies in size depending on the configuration of the ECC block, and is used, for example, in the memory controller 30 to perform error detection and correction operations on user data of each sector. 2 shows a 2k-byte page having four sectors, but if the capacity of the memory unit is 1G or less, the page and sector may be equalized to 512-bytes. In one embodiment of the present invention, 64 pages may be configured in one memory block, and 2,048 memory blocks may be configured in one memory unit.

버스(18)를 통해 공급되는 제어 신호는 예컨대, CLE (Command Latch Enable), ALE (Address Latch Enable), WE (Write Enable), RE (Read Enable), WP (Write Protect), PRE (Power-on Read Enable) 신호 등을 포함한다. 상태 신호 즉, R/B (Ready/Busy output) 신호는 플래시 메모리에서 생성되어 플래시 메모리가 준비 상태(ready)인지 동작중(busy) 인지를 나타낸다. R/B 신호 단자는 예컨대, 5V 전원과 연결되어 있어서 플래시 메모리에서 생성된 R/B 신호를 풀업(pull-up)하여 메모리 제어기(30)로 공급되며, 2개의 플래시 메모리의 병렬 액세스를 지원하기 위해 2개의 상태 레지스터를 사용할 수 있다. 데이터 버스(16, 18)에는 데이터 신호 및 어드레스 신호와 명령 신호가 시간다중화 방식으로 전달된다. 메모리 제어기(30)에서 플래시 유닛(102)으로 공급되는 데이터는 I/O 버퍼(116)에서 래치된 다음 플래시 유닛(102)의 해당 블록의 섹터에 기록된다.Control signals supplied via bus 18 are, for example, command latch enable (CLE), address latch enable (ALE), write enable (WE), read enable (RE), write protect (WP), power (on) Read Enable) signal. A status signal, that is, a R / B (Ready / Busy output) signal is generated in the flash memory to indicate whether the flash memory is ready or busy. The R / B signal terminal is connected to a 5V power supply, for example, and pulls up an R / B signal generated from a flash memory to the memory controller 30 to support parallel access of two flash memories. Two status registers are available for this purpose. The data buses 16 and 18 transmit data signals, address signals and command signals in a time multiplexed manner. Data supplied from the memory controller 30 to the flash unit 102 is latched in the I / O buffer 116 and then written to the sector of the corresponding block of the flash unit 102.

플래시 어레이(100)에 공급할 데이터가 2개의 섹터 데이터인 경우 이 가운데 예컨대, 섹터 0 데이터는 제1 데이터 버스(16)를 통해 제1 플래시 유닛(102)으로 보내고, 섹터 1 데이터는 제2 데이터 버스(26)를 통해 제2 플래시 유닛(104)으로 동시에 보낸다. 우수 섹터(even sector) 즉, 섹터 0, 섹터 2 등은 제1 메모리 뱅크(106)에 포함되고, 기수 섹터(odd secotr) 즉, 섹터 1, 섹터 3 등은 제2 메모리 뱅크(108)에 포함된다. 하나의 데이터 버스(16, 26)를 통해 공급되는 데이터는 섹터 데이터 16-비트 중 8-비트이다. 한편, 플래시 어레이(100)에 공급할 데이터가 1개의 섹터 데이터인 경우에는 2개의 데이터 버스 중 어느 하나(예컨대, [0:7] 또는 [8:15] 데이터 버스)를 통해 해당 플래시 유닛에 섹터 데이터를 보낸다. 2개의 섹터 데이터를 동시에 보내기 위해, 예컨대 512M 플래시 메모리 2개의 병렬 액세스를 위해 메모리 제어기는 한 페이지 당 1K 용량의 버퍼를 사용하거나, 1G 또는 2G 플래시 메모리 2개의 병렬 액세스를 지원하기 위해 한 페이지 당 4K 용량의 버퍼를 사용할 수 있다.If the data to be supplied to the flash array 100 is two sector data, for example, sector 0 data is sent to the first flash unit 102 through the first data bus 16, and sector 1 data is sent to the second data bus. Simultaneously to the second flash unit 104 via 26. Even sectors, that is, sector 0, sector 2, etc., are included in the first memory bank 106, and odd sectors, that is, sector 1, sector 3, etc., are included in the second memory bank 108. do. Data supplied via one data bus 16, 26 is 8-bit of the 16-bit sector data. On the other hand, if the data to be supplied to the flash array 100 is one sector data, the sector data to the corresponding flash unit via one of the two data buses (for example, [0: 7] or [8:15] data bus). Send it. To send two sectors of data simultaneously, for example two parallel accesses of 512M flash memory, the memory controller uses a buffer of 1K capacity per page, or 4K per page to support parallel access of two 1G or 2G flash memories. A capacity buffer can be used.

도 3은 본 발명에 따른 플래시 메모리 제어 과정을 나타내는 흐름도이다.3 is a flowchart illustrating a flash memory control process according to the present invention.

호스트 쓰기 동작(또는 기록 동작)이 개시되면(단계 302), 호스트는 예컨대, 4-바이트의 어드레스 관련 입력과 1-바이트의 섹터 수를 메모리 제어기에게 전달하고 쓰기 명령이나 읽기 명령을 제공한다(단계 304). 메모리 제어기는 호스트에서 전달받은 4-바이트의 어드레스 관련 입력을 이용하여 논리 어드레스를 계산한다. 호스트로부터 수신된 어드레스는 논리 어드레스이며 이것을 플래시 유닛에 기록하기 위해서는 메모리 제어기가 논리 어드레스에 대응되는 물리 어드레스를 계산하여 변환하여야 한다(단계 306). 변환된 물리 어드레스가 유효 어드레스인지 판단하여(단계 308), 유효 어드레스가 아닌 경우에는 물리 어드레스 변환 과정(306)을 반복하고, 유효 어드레스인 경우에는 섹터 개수가 2 보다 작은지 판단한다(단계 310). 단계(310)에서 섹터의 갯수가 2보다 작은 경우, 메모리 제어기는 하나의 섹터 데이터를 수신하고(단계 316), 뱅크를 계산한다(단계 318). 뱅크 계산은 예컨대, 섹터 어드레스의 최하위 비트를 체크하여 그 값이 '0'인 경우에는 '뱅크 0'으로 하고 최하위 비트의 값이 '1'인 경우에는 '뱅크 1'로 한다. 계산된 뱅크에 따라 뱅크 0 또는 뱅크 1을 인에이블하고(단계 320), 플래시 쓰기 동작으로 진행한다. 한편, 섹터 개수 판단 단계(310)에서 섹터의 개수가 2보다 큰 경우, 메모리 제어기는 2개의 섹터 데이터를 수신하여(단계 312), 뱅크 0과 뱅크 1을 동시에 인에이블한 다음(단계 314), 플래시 쓰기 동작으로 진행한다.When a host write operation (or write operation) is initiated (step 302), the host, for example, passes a 4-byte address-related input and a 1-byte sector number to the memory controller and provides a write command or a read command (step 304). The memory controller calculates the logical address using the 4-byte address related input received from the host. The address received from the host is a logical address and in order to write it to the flash unit, the memory controller must calculate and translate a physical address corresponding to the logical address (step 306). It is determined whether the converted physical address is a valid address (step 308), and if it is not a valid address, the physical address conversion process 306 is repeated, and if it is a valid address, it is determined whether the number of sectors is less than two (step 310). . If the number of sectors in step 310 is less than two, the memory controller receives one sector data (step 316) and calculates a bank (step 318). In the bank calculation, for example, the least significant bit of the sector address is checked and 'bank 0' when the value is '0' and 'bank 1' when the value of the least significant bit is '1'. According to the calculated bank, bank 0 or bank 1 is enabled (step 320), and the flash write operation is performed. On the other hand, if the number of sectors is greater than 2 in the sector number determination step 310, the memory controller receives two sector data (step 312), enables bank 0 and bank 1 simultaneously (step 314), Proceed to a flash write operation.

인에이블된 하나 또는 두 개의 뱅크에 대해, 플래시 쓰기 명령 입력 단계(322)에서는 예컨대, 순차 데이터 입력 명령(Sequential Data Input Command, 80H 명령)이 입력된다. 80H 명령에 따라 플래시 데이터를 I/O 버퍼에 순차적으로 로딩하고, 어드레스를 수신하는데, 어드레스는 ALE 신호가 활성 상태로 된 후 열 어드레스와 행 어드레스가 순차적으로 수신된다(단계 324). ALE 신호를 비활성 상태로 한 후 WE 신호를 활성-비활성 상태로 반복하면서 플래시 데이터를 지정된 메모리 셀에 기록한다(단계 326). 메모리 셀에는 페이지 단위로 데이터가 기록되므로, 예컨대 단계 326에서는 512-바이트 + 16-바이트 즉, 528-바이트의 데이터가 한번에 기록된다. 메모리에 쓸 섹터 데이터가 더 있는가를 판단하여(단계328) 기록해야 할 섹터 데이터가 더 존재하는 경우에는 경로(330)를 따라 물리 어드레스 변환 단계(306)로 복귀하여 앞의 과정을 반복하고 섹터 데이터가 더 이상 없는 경우에는 쓰기 동작을 완료한다(단계 332). 기록 동작 동안 메모리 제어기는 플래시 메모리에서 출력되는 상태 신호 즉, R/B 신호를 조사하여 프로그램 사이클이 종료되는지를 판단할 수 있다. 완료 단계(332)는 읽기 상태 명령(70H 명령)을 준 다음 I/O 0의 데이터를 조사하여 그 값이 '0'이면 기록 동작이 정상적이었다고 판단하고 I/O 0의 데이터가 '1'인 경우에는 프로그램에 오류가 있었다고 판단하는 단계를 포함할 수 있다.For one or two banks enabled, a sequential data input command (80H command) is input, for example, in a flash write command input step 322. The flash data is sequentially loaded into the I / O buffer according to the 80H command, and an address is received, in which the column address and the row address are sequentially received after the ALE signal is activated (step 324). After the ALE signal is made inactive, the flash data is written to the designated memory cell while the WE signal is repeated in the active-inactive state (step 326). Since data is written in the memory cell in page units, for example, in step 326, 512-byte + 16-byte, that is, 528-byte data is written at a time. It is determined whether there is more sector data to be written to the memory (step 328). If there is more sector data to be written, the process returns to the physical address translation step 306 along the path 330 to repeat the above process. If there is no more, the write operation is completed (step 332). During the write operation, the memory controller may determine whether a program cycle is terminated by examining a state signal output from the flash memory, that is, an R / B signal. Completion step 332 gives a read status command (70H command) and examines the data of I / O 0. If the value is '0', it is determined that the write operation was normal and the data of I / O 0 is '1'. In this case, the method may include determining that there is an error in the program.

본 발명에 따르면, 종래 기술의 메모리 제어기에서 각각의 칩을 별도로 제어하기 위하여 추가로 사용한 핀이 필요하지 않기 때문에, 복수의 플래시 메모리 유닛을 병렬로 동시에 동작시키면서도 패키지에 요구되는 핀 수를 절약하면서 플래시 메모리의 동작 속도를 개선할 수 있다.According to the present invention, since an additional pin is not required to control each chip separately in the memory controller of the related art, a flash can be operated while saving a number of pins required for a package while simultaneously operating a plurality of flash memory units in parallel. The operation speed of the memory can be improved.

또한, 종래 기술에서 각각의 칩을 따라 액세스함으로써 추가로 요구되는 시간을 본 발명에서는 절약함으로써 플래시 메모리의 속도를 높일 수 있다.In addition, in the present invention, the additional memory required by accessing along each chip in the prior art can speed up the flash memory.

Claims (16)

호스트 시스템과 플래시 메모리 어레이 사이에 연결되어 호스트 시스템으로부터 섹터 단위의 데이터를 상기 플래시 메모리 어레이에 전달하는 플래시 메모리 제어 장치로서,A flash memory control device connected between a host system and a flash memory array to transfer sector-based data from the host system to the flash memory array. 상기 플래시 메모리 어레이는 복수의 메모리 뱅크를 포함하고, 상기 복수의 메모리 뱅크 각각은 복수의 메모리 유닛을 포함하고, 상기 복수의 메모리 유닛 각각은 복수의 메모리 블록을 포함하며, 상기 복수의 메모리 블록 각각은 복수의 페이지를 포함하고, 상기 복수의 페이지 각각은 하나 이상의 섹터를 포함하며,The flash memory array includes a plurality of memory banks, each of the plurality of memory banks including a plurality of memory units, each of the plurality of memory units including a plurality of memory blocks, and each of the plurality of memory blocks A plurality of pages, each of the plurality of pages comprising one or more sectors, 상기 플래시 메모리 제어 장치는 상기 호스트 시스템으로부터 수신한 데이터가 서로 다른 메모리 유닛에 대한 2개 이상의 섹터 데이터인 경우에는 상기 데이터를 보내도록 지정된(addressed) 서로 다른 메모리 유닛을 동시에 인에이블하여 2개의 섹터 데이터를 인에이블된 메모리 유닛들에 동시에 프로그램하고, 한편 상기 플래시 메모리 제어기가 호스트로부터 수신한 데이터가 하나의 섹터 데이터인 경우에 상기 플래시 메모리 제어기는 섹터 데이터를 보내도록 지정된 하나의 메모리 유닛을 인에이블하여 이 메모리 유닛에 상기 수신한 섹터 데이터를 프로그램하는 것을 특징으로 하는 플래시 메모리 제어 장치.When the data received from the host system is two or more sector data for different memory units, the flash memory control device simultaneously enables two memory data addressed to different memory units addressed to the data. Is simultaneously programmed into enabled memory units, while the flash memory controller enables one memory unit designated to send sector data if the data received from the host by the flash memory controller is one sector data. And program the received sector data into the memory unit. 제1항에서, 상기 플래시 메모리 장치는 복수의 메모리 뱅크 각각에 대한 칩 선택을 위해 별도의 버스를 통해 연결되어 있는 것을 특징으로 하는 플래시 메모리제어 장치.The flash memory controller of claim 1, wherein the flash memory device is connected through a separate bus for chip selection of each of a plurality of memory banks. 제1항 또는 제2항에서, 상기 플래시 메모리 장치는 복수의 메모리 뱅크에 대해 공통으로 접속되는 제어 신호 버스를 통해 연결되어 있는 것을 특징으로 하는 플래시 메모리 제어 장치.The flash memory control device according to claim 1 or 2, wherein the flash memory device is connected through a control signal bus which is commonly connected to a plurality of memory banks. 제1항 또는 제2항에서, 상기 플래시 메모리 장치는 복수의 메모리 뱅크 뱅크 각각에 대해 별도의 데이터 신호 버스를 통해 연결되어 있는 것을 특징으로 하는 플래시 메모리 제어 장치.3. The flash memory control device of claim 1 or 2, wherein the flash memory device is connected to each of a plurality of memory bank banks through a separate data signal bus. 제1항 또는 제2항에서, 상기 플래시 메모리 장치는 복수의 메모리 뱅크 뱅크 각각에 대해 별도의 데이터 신호 버스를 통해 연결되어 있으며, 복수의 메모리 뱅크에 대해 공통으로 접속되는 제어 신호 버스를 통해 연결되어 있는 것을 특징으로 하는 플래시 메모리 제어 장치.The flash memory device of claim 1, wherein the flash memory device is connected through a separate data signal bus for each of the plurality of memory bank banks, and is connected through a control signal bus commonly connected to the plurality of memory banks. Flash memory control device characterized in that. 제1항에서, 상기 페이지 각각은 섹터와 그 크기가 동일한 것을 특징으로 하는 플래시 메모리 제어 장치.2. The flash memory controller of claim 1, wherein each of the pages has the same size as a sector. 제1항에서, 상기 페이지 각각은 섹터보다 그 크기가 더 큰 것을 특징으로 하는 플래시 메모리 제어 장치.2. The flash memory controller of claim 1, wherein each of the pages is larger in size than a sector. 호스트 시스템과 플래시 메모리 어레이 사이에 연결되어 호스트 시스템으로부터 섹터 단위의 데이터를 상기 플래시 메모리 어레이에 전달하는 플래시 메모리 제어 장치로서,A flash memory control device connected between a host system and a flash memory array and transferring sector data from the host system to the flash memory array. 상기 플래시 메모리 어레이는 병렬로 연결된 복수의 메모리 뱅크를 포함하고, 상기 복수의 메모리 뱅크 각각은 복수의 메모리 유닛을 포함하고, 상기 복수의 메모리 유닛 각각은 복수의 메모리 블록을 포함하며, 상기 복수의 메모리 블록 각각은 복수의 페이지를 포함하고, 상기 복수의 페이지 각각은 하나 이상의 섹터를 포함하며,The flash memory array includes a plurality of memory banks connected in parallel, each of the plurality of memory banks including a plurality of memory units, each of the plurality of memory units including a plurality of memory blocks, and the plurality of memories. Each block includes a plurality of pages, each of the plurality of pages including one or more sectors, 상기 플래시 메모리 제어 장치는 상기 병렬로 연결된 복수의 메모리 뱅크와 병렬로 연결 가능한 수만큼의 데이터 인터페이스 핀을 포함하고, 플래시 메모리 제어 장치와 플래시 메모리 어레이는 제어 신호 인터페이스 핀을 공유하며, 상기 데이터 인터페이스 핀과 칩 선택 신호 핀은 플래시 메모리 제어 장치와 플래시 메모리 어레이의 복수의 메모리 뱅크 사이에서 독립적으로 연결되어 있는 것을 특징으로 하는 플래시 메모리 제어 장치.The flash memory control device includes as many data interface pins as can be connected in parallel with the plurality of memory banks connected in parallel, the flash memory control device and the flash memory array share a control signal interface pin, and the data interface pins And the chip select signal pins are independently connected between the flash memory controller and the plurality of memory banks of the flash memory array. 제8항에서, 상기 플래시 메모리 제어 장치는 상기 호스트 시스템으로부터 수신한 데이터가 서로 다른 메모리 유닛에 대한 2개 이상의 섹터 데이터인 경우에는 상기 데이터를 보내도록 지정된(addressed) 서로 다른 메모리 유닛을 동시에 인에이블하여 2개의 섹터 데이터를 인에이블된 메모리 유닛들에 동시에 프로그램하고,한편 상기 플래시 메모리 제어기가 호스트로부터 수신한 데이터가 하나의 섹터 데이터인 경우에 상기 플래시 메모리 제어기는 섹터 데이터를 보내도록 지정된 하나의 메모리 유닛을 인에이블하여 이 메모리 유닛에 상기 수신한 섹터 데이터를 프로그램하는 것을 특징으로 하는 플래시 메모리 제어 장치.9. The flash memory controller of claim 8, wherein the flash memory control device simultaneously enables different memory units addressed to send the data when the data received from the host system is two or more sector data for different memory units. Program two sector data simultaneously to the enabled memory units, and if the data received from the host by the flash memory controller is one sector data, the flash memory controller is one memory designated to send sector data. Enabling a unit to program the received sector data into the memory unit. 제1항 또는 제8항에서, 상기 메모리 제어 장치는 상기 플래시 메모리 어레이의 512M 플래시 메모리 2개의 병렬 액세스를 위해서는 한 페이지 당 1K 용량의 버퍼를 사용하거나, 1G 또는 2G 플래시 메모리 2개의 병렬 액세스를 지원하기 위해서는 한 페이지 당 4K 용량의 버퍼를 사용하는 것을 특징으로 하는 플래시 메모리 제어 장치.The memory controller of claim 1, wherein the memory controller uses a buffer of 1K capacity per page for parallel access of two 512M flash memories of the flash memory array, or supports two parallel accesses of 1G or 2G flash memories. In order to use the flash memory control device characterized in that for using a buffer of 4K capacity per page. 플래시 메모리 제어 방법으로서,As a flash memory control method, 호스트 시스템으로부터 플래시 메모리에 대한 논리 어드레스를 수신하여 물리 어드레스로 변환하는 단계와,Receiving a logical address for the flash memory from the host system and converting the logical address into a physical address; 호스트 시스템에서 플래시 메모리에 기록하고자 하는 섹터의 개수를 판단하는 단계와,Determining, by the host system, the number of sectors to be written to the flash memory; 상기 판단 단계에서, 섹터의 개수가 '1'인 경우에는 하나의 섹터 데이터를 수신하고 뱅크를 계산하여 이에 해당하는 하나의 플래시 메모리 뱅크를 인에이블하고, 섹터의 개수가 '2' 이상인 경우에는 2개의 섹터 데이터를 수신하고 이에 해당하는 2개의 플래시 메모리 뱅크를 인에이블하는 단계와,In the determining step, when the number of sectors is '1', one sector data is received and a bank is calculated to enable one corresponding flash memory bank, and when the number of sectors is '2' or more, 2 Receiving two sector data and enabling two corresponding flash memory banks; 상기 인에이블된 메모리 뱅크의 상기 물리 어드레스에 의해 지정된 메모리 블록에 대해 플래시 쓰기 동작을 시작하는 단계를 포함하는 플래시 메모리 제어 방법.Initiating a flash write operation for a memory block specified by the physical address of the enabled memory bank. 제11항에서, 상기 호스트 시스템으로부터 데이터를 가져오는 단위는 섹터이며, 상기 플래시 메모리 뱅크에 데이터를 기록하는 단위는 페이지이며, 상기 페이지 복수개는 하나의 메모리 블록을 구성하고 복수의 메모리 블록이 하나의 메모리 유닛을 구성하며 복수의 메모리 유닛이 메모리 뱅크를 구성하는 것을 특징으로 하는 플래시 메모리 제어 방법.The unit of claim 11, wherein the unit for obtaining data from the host system is a sector, the unit for writing data to the flash memory bank is a page, and the plurality of pages constitutes one memory block and the plurality of memory blocks are one unit. A flash memory control method comprising: a memory unit, wherein a plurality of memory units constitute a memory bank. 제11항에서, 상기 어드레스 변환 단계 이전에는, 어드레스 관련 입력과 섹터 개수 데이터를 플래시 메모리 제어기가 상기 호스트 시스템으로부터 수신하고, 호스트 시스템으로부터 읽기 또는 쓰기 명령이 접수되면 상기 메모리 제어기가 상기 어드레스 관련 입력을 이용하여 논리 어드레스를 계산하는 단계가 더 포함되는 것을 특징으로 하는 플래시 메모리 제어 방법.12. The method of claim 11, wherein before the address translation step, a flash memory controller receives an address related input and sector number data from the host system, and when a read or write command is received from the host system, the memory controller receives the address related input. And calculating a logical address by using the flash memory. 제11항에서, 상기 어드레스 변환 단계 다음에는 변환된 물리 어드레스가 유효 어드레스인지 판단하는 단계가 더 포함되는 것을 특징으로 하는 플래시 메모리 제어 방법.12. The flash memory control method of claim 11, further comprising determining whether the converted physical address is a valid address after the address translation step. 제11항에서, 상기 플래시 쓰기 동작은, 플래시 데이터를 순차적으로 입력하고, 어드레스를 수신한 다음 플래시 데이터를 지정된 메모리 셀에 기록하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 제어 방법.12. The method of claim 11, wherein the flash write operation comprises sequentially inputting flash data, receiving an address, and then writing the flash data to a designated memory cell. 제11항에서, 상기 인에이블 단계에서 2개의 메모리 뱅크가 인에이블된 경우에는 제1 데이터 버스를 통해 제1 플래시 메모리에 데이터를 기록함과 동시에 제2 데이터 버스를 통해 제2 플래시 메모리에도 데이터를 기록하는 것을 특징으로 하는 플래시 메모리 제어 방법.The data storage device of claim 11, wherein when the two memory banks are enabled in the enable step, data is written to the first flash memory through the first data bus and simultaneously to the second flash memory through the second data bus. Flash memory control method characterized in that.
KR1020020075231A 2002-11-29 2002-11-29 Apparatus and Method for controlling flash memories KR20030000017A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020020075231A KR20030000017A (en) 2002-11-29 2002-11-29 Apparatus and Method for controlling flash memories
US10/727,311 US7136986B2 (en) 2002-11-29 2003-12-01 Apparatus and method for controlling flash memories

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020075231A KR20030000017A (en) 2002-11-29 2002-11-29 Apparatus and Method for controlling flash memories

Publications (1)

Publication Number Publication Date
KR20030000017A true KR20030000017A (en) 2003-01-03

Family

ID=27729572

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020075231A KR20030000017A (en) 2002-11-29 2002-11-29 Apparatus and Method for controlling flash memories

Country Status (1)

Country Link
KR (1) KR20030000017A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9411686B2 (en) 2013-08-23 2016-08-09 Silicon Motion, Inc. Methods for accessing a storage unit of a flash memory and apparatuses using the same
US9459962B2 (en) 2013-08-23 2016-10-04 Silicon Motion, Inc. Methods for accessing a storage unit of a flash memory and apparatuses using the same
US9513995B2 (en) 2013-08-23 2016-12-06 Silicon Motion, Inc. Methods for accessing a storage unit of a flash memory and apparatuses using the same
US9977714B2 (en) 2013-08-23 2018-05-22 Silicon Motion, Inc. Methods for programming a storage unit of a flash memory in multiple stages and apparatuses using the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100222908B1 (en) * 1996-01-26 1999-10-01 사토 히로시 Flash memory system
KR20000031923A (en) * 1998-11-11 2000-06-05 김영환 Method for writing data in flash memories
KR20000067341A (en) * 1999-04-27 2000-11-15 윤종용 A method for simultaneously programming plural flash memories having invalid blocks
KR100285967B1 (en) * 1998-10-20 2001-04-16 윤덕용 Data storage device and method using flash memory
KR20010105938A (en) * 2000-05-19 2001-11-29 윤종용 Micro controller unit including embeded flash memory and control method for memory access of the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100222908B1 (en) * 1996-01-26 1999-10-01 사토 히로시 Flash memory system
KR100285967B1 (en) * 1998-10-20 2001-04-16 윤덕용 Data storage device and method using flash memory
KR20000031923A (en) * 1998-11-11 2000-06-05 김영환 Method for writing data in flash memories
KR20000067341A (en) * 1999-04-27 2000-11-15 윤종용 A method for simultaneously programming plural flash memories having invalid blocks
KR20010105938A (en) * 2000-05-19 2001-11-29 윤종용 Micro controller unit including embeded flash memory and control method for memory access of the same

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9411686B2 (en) 2013-08-23 2016-08-09 Silicon Motion, Inc. Methods for accessing a storage unit of a flash memory and apparatuses using the same
US9459962B2 (en) 2013-08-23 2016-10-04 Silicon Motion, Inc. Methods for accessing a storage unit of a flash memory and apparatuses using the same
US9513995B2 (en) 2013-08-23 2016-12-06 Silicon Motion, Inc. Methods for accessing a storage unit of a flash memory and apparatuses using the same
US9977714B2 (en) 2013-08-23 2018-05-22 Silicon Motion, Inc. Methods for programming a storage unit of a flash memory in multiple stages and apparatuses using the same

Similar Documents

Publication Publication Date Title
CN102165409B (en) Solid state storage device controller with expansion mode
US8370566B2 (en) System and method for increasing capacity, performance, and flexibility of flash storage
US7707354B2 (en) SRAM cache and flash micro-controller with differential packet interface
US7136986B2 (en) Apparatus and method for controlling flash memories
US10769066B2 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
US9342371B2 (en) Boot partitions in memory devices and systems
US20100146256A1 (en) Mixed-Mode ROM/RAM Booting Using an Integrated Flash Controller with NAND-Flash, RAM, and SD Interfaces
US20080256352A1 (en) Methods and systems of booting of an intelligent non-volatile memory microcontroller from various sources
US20120311408A1 (en) Nonvolatile memory, memory controller, nonvolatile memory accessing method, and program
KR20170053278A (en) Data storage device and operating method thereof
CN111625188B (en) Memory, data writing method thereof and memory system
US20130275657A1 (en) Data storage device and operating method thereof
JP2013251045A (en) Multiple independent serial link memory
US20200218653A1 (en) Controller, data storage device, and operating method thereof
TWI698749B (en) A data storage device and a data processing method
JPH07200398A (en) Nonvolatile-memory-chip-enable coding method, computer system and memory controller
CN110678852A (en) Apparatus and method for controlling memory operation to buffer
KR20170094674A (en) Data storage device
CN111258505A (en) Data merging method, control circuit unit and storage device of flash memory
CN112230849B (en) Memory control method, memory storage device and memory controller
US7644247B2 (en) System controller for flash memory
KR20030000017A (en) Apparatus and Method for controlling flash memories
US9778864B2 (en) Data storage device using non-sequential segment access and operating method thereof
US20200310873A1 (en) Controller and memory system including the same
CN112463018A (en) Instruction transmission method, memory control circuit unit and memory storage device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application