KR100761374B1 - Method and Apparatus for controlling flash memory - Google Patents
Method and Apparatus for controlling flash memory Download PDFInfo
- Publication number
- KR100761374B1 KR100761374B1 KR1020050127855A KR20050127855A KR100761374B1 KR 100761374 B1 KR100761374 B1 KR 100761374B1 KR 1020050127855 A KR1020050127855 A KR 1020050127855A KR 20050127855 A KR20050127855 A KR 20050127855A KR 100761374 B1 KR100761374 B1 KR 100761374B1
- Authority
- KR
- South Korea
- Prior art keywords
- flash memory
- data
- interface unit
- host
- control signal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
본 발명은 멀티 플레인 오퍼레이션(multi plane operation)을 지원할 수 있는 플래시 메모리 제어 방법 및 장치에 관한 것으로서, 호스트와 제어신호 및 데이터를 송수신하는 호스트 인터페이스부와, 플래시 메모리를 제어하는 제어신호를 생성하고 플래시 메모리와 제어 신호 및 데이터를 송수신하는 플래시 메모리 인터페이스부와, 상기 호스트 인터페이스부를 통해 수신되는 데이터를 저장하는 적어도 2개의 버퍼를 포함하는 버퍼부를 포함하되, 상기 버퍼부는 상기 호스트 인터페이스부의 제어신호에 의해 상기 호스트 인터페이스부로터 수신되는 데이터를 상기 적어도 2개의 버퍼 중 어느 하나에 저장하는 동시에 상기 적어도 2개의 버퍼 중 다른 하나에 저장되어 있는 데이터를 상기 플래시 메모리 인터페이스부로 전송하는 것을 특징으로 하는플래시 메모리 제어 장치를 제공한다.The present invention relates to a flash memory control method and apparatus capable of supporting multi-plane operation, comprising: a host interface unit for transmitting and receiving control signals and data with a host, and generating and flashing a control signal for controlling a flash memory. And a buffer including a flash memory interface for transmitting and receiving a memory, a control signal, and data, and at least two buffers for storing data received through the host interface, wherein the buffer is controlled by the control signal of the host interface. And storing the data received from the host interface unit in any one of the at least two buffers and simultaneously transmitting the data stored in the other one of the at least two buffers to the flash memory interface unit. It provides a re-control device.
플래시 메모리 제어 장치, 멀티 플레인 Flash memory controller, multiplane
Description
도 1은 멀티 플레인 구조의 플래시 메모리의 구성을 예시적으로 나타낸 도면,1 is a diagram illustrating a configuration of a flash memory having a multi-plane structure by way of example;
도 2는 본 발명의 바람직한 일 실시예에 따른 플래시 메모리 제어장치의 구성을 나타낸 블록도,2 is a block diagram showing the configuration of a flash memory controller according to an embodiment of the present invention;
도 3은 본 발명의 바람직한 일 실시예에 따른 플래시 메모리 제어 장치를 사용하여 플래시 메모리에서 데이터를 기록하는 경우를 나타낸 타이밍도,3 is a timing diagram illustrating a case in which data is written from a flash memory using a flash memory control apparatus according to an exemplary embodiment of the present invention;
도 4는 본 발명의 다른 실시예에 따른 플래시 메모리 제어 장치의 구성을 나타낸 블록도이다.4 is a block diagram showing a configuration of a flash memory control apparatus according to another embodiment of the present invention.
<도면의 주요 부분에 대한 부호의 설명> <Explanation of symbols for main parts of the drawings>
201… 호스트 인터페이스부,201... Host interface unit,
203… 버퍼부,203... Buffer,
205… 제1 버퍼,205... First buffer,
207… 제2 버퍼,207... Second buffer,
209… 플래시 메모리 인터페이스부,209... Flash memory interface,
210… 플래시 메모리 제어 장치,210... Flash memory controller,
220… 호스트,220... Host,
230…플래시 메모리.230... Flash memory.
본 발명은 플래시 메모리 제어 방법 및 장치에 관한 것으로서, 특히 멀티 플레인 오퍼레이션(multi plane operation)을 지원할 수 있는 플래시 메모리 제어 방법 및 장치에 관한 것이다. The present invention relates to a flash memory control method and apparatus, and more particularly, to a flash memory control method and apparatus capable of supporting multi-plane operation.
플래시 메모리(flash memory)는 전원이 인가되지 않아도 내용이 지워지지 않는 비휘발성 메모리로서 높은 안정성, 큰 용량 그리고 상대적으로저렴한 가격 등으로 인하여 각종 장치에 널리 사용되고 있다. 또한, 핸드폰, PDA 등과 같은 모바일 기기와 각종 어플리케이션들이 광범위하게 사용됨에 따라 대용량의 데이터를 빠른 시간에 저장할 수 있도록 하는 플래시 메모리 및 이를 제어하는 제어 장치가 요청되고 있다.Flash memory is a nonvolatile memory whose contents are not erased even when power is not applied, and is widely used in various devices due to high stability, large capacity, and relatively low cost. In addition, as mobile devices and various applications such as mobile phones and PDAs are widely used, there is a demand for a flash memory and a control device for controlling the same.
한편, 종래의 플래시 메모리는 모든 물리블록들이 단일 플레인(single plane)에 배치되었다. 이러한 단일 플레인 구조의 플래시 메모리에서는, 전기적 소거의 경우에는 한 번에 하나의 물리 블록에 대해서만, 기록과 판독의 경우에는 한 번에 한 물리 페이지에 대해서만 명령의 수행이 가능하였다. On the other hand, in the conventional flash memory, all physical blocks are arranged in a single plane. In such a single plane flash memory, instructions can be executed for only one physical block at a time for electrical erasure and only one physical page at a time for writing and reading.
이러한 단일 플레인 구조의 플래시 메모리의 단점을 보완하기 위하여 최근 멀티 플레인(multi plane) 구조의 플래시 메모리가 제안되고 있다. 멀티 플레인 구조의 플래시 메모리는 물리블록들을 복수개의 플레인으로 분산 배치하고, 서로 다른 플레인에 위치한 물리블록들 또는 물리페이지들에 대해 동시에 소거, 기록 또는 판독 등의 작업을 수행할 수 있다는 장점이 있다.In order to make up for the shortcomings of flash memory having a single plane structure, a flash memory having a multi plane structure has recently been proposed. A flash memory having a multi-plane structure has an advantage of distributing physical blocks in a plurality of planes and simultaneously performing operations such as erasing, writing, or reading on physical blocks or physical pages located in different planes.
도 1은 이러한 멀티 플레인 구조의 플래시 메모리의 구성을 예시적으로 나타낸 도면이다. 1 is a diagram exemplarily illustrating a configuration of a flash memory having such a multi-plane structure.
도 1의 플래시 메모리는 4개의 플레인을 가지며, 각각의 플레인에는 4,096개의 물리 블록이 존재하며, 각 물리 블록은 32개의 페이지로 구성된다. 각 플레인은 각각 별도의 페이지 레지스터를 포함하여, 플래시 메모리 인터페이스부로부터 수신되는 플레인 별 데이터를 각각의 페이지 레지스터에 저장해 두고 있다가 각 플레인에 대한 데이터 수신이 종료되면 동시에 각 플레인 레지스터로부터 해당 페이지 또는 블록에 데이터 기록 등의 작업을 동시에 수행할 수 있다.The flash memory of FIG. 1 has four planes, each plane has 4,096 physical blocks, and each physical block is composed of 32 pages. Each plane contains a separate page register, which stores the plane-specific data received from the flash memory interface unit in each page register, and at the same time, when data reception for each plane is finished, the corresponding page or block from each plane register You can also simultaneously perform operations such as recording data.
그러나, 이러한 멀티 플레인 구조의 플래시 메모리를 제대로 지원하기 위해서는 플래시 메모리 제어장치의내부 버퍼의 크기를 증가시켜야 하는데 이는 메모리의 크기를 증가시키게 된다는 문제점과, 설계상의 복잡성이 증가한다는 문제점이 있어서, 종래 사용되는 플래시 메모리 제어 장치는 멀티 플레인 구조를 제대로 지원하지 못하거나 소프트웨어적인 제어 방법을 제공하는 데 불과하여 장치에 부담을 주는 경우가 대부분이다.However, in order to properly support the flash memory of the multi-plane structure, the size of the internal buffer of the flash memory controller must be increased, which increases the size of the memory and increases the complexity of the design. In most cases, the flash memory control device does not properly support a multi-plane structure or merely provides a software control method to burden the device.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 간단하고 저렴한 구성으로 멀티 플레인 오퍼레이션을 지원할 수 있는 플래시 메모리 제어 방법 및 장치를 제공하는 것을 목적으로 한다.An object of the present invention is to provide a flash memory control method and apparatus capable of supporting a multi-plane operation with a simple and inexpensive configuration.
상술한 목적들을 달성하기 위하여, 본 발명은 복수개의 플레인을 구비하는 플래시 메모리를 제어하는 장치에 있어서, 호스트와 제어신호 및 데이터를 송수신하는호스트 인터페이스부 플래시 메모리를 제어하는 제어신호를 생성하고 플래시 메모리와 제어 신호 및 데이터를 송수신하는 플래시 메모리 인터페이스부 및 상기 호스트 인터페이스부를 통해 수신되는 데이터를 저장하는 적어도 2개의 버퍼를 포함하는 버퍼부를 포함하되, 상기 버퍼부는 상기 호스트 인터페이스부의 제어신호에 의해 상기 호스트 인터페이스부로터 수신되는 데이터를 상기 적어도 2개의 버퍼 중 어느 하나에 저장하는 동시에 상기 적어도 2개의 버퍼 중 다른 하나에 저장되어 있는 데이터를 상기 플래시 메모리 인터페이스부로 전송하는 것을 특징으로 하는플래시 메모리 제어 장치를 제공한다.In order to achieve the above objects, the present invention provides a device for controlling a flash memory having a plurality of planes, the control signal for controlling the host interface unit flash memory for transmitting and receiving control signals and data with the host and flash memory And a buffer unit including a flash memory interface unit for transmitting and receiving a control signal and data and at least two buffers for storing data received through the host interface unit, wherein the buffer unit is configured to control the host interface by a control signal of the host interface unit. The flash memory system may further include storing data received in one of the at least two buffers and simultaneously transmitting data stored in the other of the at least two buffers to the flash memory interface unit. It provides an apparatus.
여기에서, 상기 호스트 인터페이스부가 호스트로부터 수신하는 제어신호는 멀티 플레인(multi plane)의 개수에 대한 정보, 멀티 플레인 오퍼레이션(multi plane operation)의 종류에 대한 정보 및 멀티 플레인 오퍼레이션을 수행할 플래시 메모리의 어드레스 정보를 포함할 수 있다.Here, the control signal received by the host interface unit from the host information on the number of multi-plane (multi plane), information on the type of multi-plane operation (multi plane operation) and the address of the flash memory to perform the multi-plane operation May contain information.
또한, 상기 플래시 메모리 인터페이스부는 상기 호스트 인터페이스로부터의 제어신호에 의해 상기 버퍼부의 적어도 2개의 버퍼 중 어느 하나로부터 데이터를 수신하여 플래시 메모리로 전송하는 과정을 상기 멀티 플레인의 개수에 해당하는 횟수만큼 순차적으로 수행할 수 있다.The flash memory interface unit may sequentially receive data from any one of at least two buffers of the buffer unit by the control signal from the host interface and transmit the data to the flash memory as many times as the number of the multiplanes. Can be done.
또한, 상기 버퍼부의 적어도 2개의 버퍼 각각은 데이터를 가지고 있는 경우 가득 참 신호(Full)를, 데이터를 가지고 있지 않은 경우 비어 있음 신호(Empty)를, 상기 호스트 인터페이스부 및 상기 플래시 메모리 인터페이스부로 전송하도록 구성할 수 있다.In addition, each of the at least two buffers of the buffer unit transmits a full signal (Full) when it has data and an empty signal (Empty) when it does not have data to the host interface unit and the flash memory interface unit. Can be configured.
바람직한 실시예에 있어서, 상기 버퍼부에 포함되는 적어도 2개의 버퍼는 싱글 포트(single port) 메모리일 수 있으며, 상기 플래시 메모리는 NAND형 플래시 메모리일 수 있다.In a preferred embodiment, at least two buffers included in the buffer unit may be a single port memory, and the flash memory may be a NAND type flash memory.
본 발명의 다른 측면에 의하면, 복수개의 플레인을 구비하는 플래시 메모리를 제어하는 장치에 있어서, 호스트와 제어신호 및 데이터를 송수신하는 호스트 인터페이스부 플래시 메모리를 제어하는 제어신호를 생성하고 플래시 메모리와 데이터를 송수신하는플래시 메모리 인터페이스부 및 상기 호스트 인터페이스부를 통해 수신되는 데이터를 저장하는 버퍼부를 포함하되, 상기 버퍼부는 상기 호스트 인터페이스부의 제어신호에 의해 상기 호스트 인터페이스부로터 수신되는 데이터를 저장하는 동시에 미리 저장된 데이터를 상기 플래시 메모리 인터페이스부로 전송하는 것을 특징으로 하는플래시 메모리 제어 장치를 제공한다.According to another aspect of the present invention, in the apparatus for controlling a flash memory having a plurality of planes, generating a control signal for controlling the flash memory and the host interface unit for transmitting and receiving a control signal and data with the host and the flash memory and data A flash memory interface unit for transmitting and receiving and a buffer unit for storing data received through the host interface unit, wherein the buffer unit stores the data received from the host interface unit by the control signal of the host interface unit and at the same time stored in advance It provides a flash memory control device characterized in that the transmission to the flash memory interface unit.
여기에서, 상기 호스트 인터페이스부가 호스트로부터 수신하는 제어신호는 멀티 플레인(multi plane)의 개수에 대한 정보, 멀티 플레인 오퍼레이션(multi plane operation)의 종류에 대한 정보 및 멀티 플레인 오퍼레이션을 수행할 플래시 메모리의 어드레스 정보를 포함할 수 있다.Here, the control signal received by the host interface unit from the host information on the number of multi-plane (multi plane), information on the type of multi-plane operation (multi plane operation) and the address of the flash memory to perform the multi-plane operation May contain information.
또한, 상기 버퍼부는 듀얼 포트 메모리이며, 상기 플래시 메모리는 NAND형 플래시 메모리일 수 있다.The buffer unit may be a dual port memory, and the flash memory may be a NAND type flash memory.
본 발명의 다른 측면에 의하면, 적어도 2개의 버퍼를 포함하는 플래시 메모리 제어 장치에서 복수개의 플레인을 구비하는 플래시 메모리를 제어하는 방법에 있어서, 호스트로부터 제어 신호 및 데이터를 수신하고 수신된 데이터를 상기 적어도 2개의 버퍼 중 어느 하나가 가득 찰 때까지 저장하고, 상기 적어도 2개의 버퍼 중 어느 하나에 저장된 데이터를 플래시 메모리로 전송하는 동시에 상기 적어도 2개의 버퍼 중 다른 하나에 호스트로부터 수신되는 데이터를 저장하는 과정을 상기 호스트로부터 수신되는 제어 신호에 포함된 멀티 플레인의 개수에 해당하는 횟수만큼 반복하는 것을 특징으로 하는 플래시 메모리 제어 방법을 제공한다. According to another aspect of the present invention, a method of controlling a flash memory having a plurality of planes in a flash memory control device including at least two buffers, the method comprising: receiving a control signal and data from a host and receiving the received data; Storing the data received from the host in another one of the at least two buffers while transmitting data stored in any one of the at least two buffers to a flash memory until one of the two buffers is full; A method of controlling a flash memory, the method comprising repeating a number of times corresponding to the number of multi-planes included in a control signal received from the host.
본 발명의 또 다른 측면에 의하면, 버퍼를 포함하는 플래시 메모리 제어 장치에서 복수개의 플레인을 구비하는 플래시 메모리를 제어하는 방법에 있어서, 호스트로부터 제어 신호 및 데이터를 수신하고 수신된 데이터를 상기 버퍼에 순차적으로저장하는 동시에 저장된 데이터를 순차적으로 플래시 메모리로 전송하는 과정을 상기 호스트로부터 수신되는 제어 신호에 포함된 멀티 플레인의 개수에 해당하는 횟수만큼 반복하는 것을 특징으로 하는 플래시 메모리 제어 방법을 제공한다.According to another aspect of the present invention, a method of controlling a flash memory having a plurality of planes in a flash memory control device including a buffer, the method comprising: receiving a control signal and data from a host and sequentially receiving the received data into the buffer A method of controlling a flash memory, the method comprising: repeating a process of sequentially storing the data and simultaneously transmitting the stored data to the flash memory, the number of times corresponding to the number of multi-planes included in the control signal received from the host.
이어서, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. Next, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명의 바람직한 일 실시예에 따른 플래시 메모리 제어장치의 구성을 나타낸 블록도이다.2 is a block diagram illustrating a configuration of a flash memory control apparatus according to an exemplary embodiment of the present invention.
도 2를 참조하면, 플래시 메모리 제어 장치(210)는 호스트 인터페이스부(201), 버퍼부(203) 및 플래시 메모리 인터페이스부(205)를 포함하며, 호스트(220) 및 플래시 메모리(230)와 연결되어 제어 신호 및 데이터를 송수신한다.Referring to FIG. 2, the
상기 호스트 인터페이스부(201)는 호스트(220)와 연결되어 호스트(220)로부터 제어 신호 및 데이터를 송수신하며, 후술하는 바와 같이 버퍼부(203)로 데이터를 전송하여 저장하도록 한다. The
호스트(220)로부터 수신되는 제어 신호는 다음과 같은 정보를 포함할 수 있다. 즉, 플래시 메모리에 대하여 수행할 멀티 플레인 오퍼레이션(multi plane operation)의 종류(예컨대, 기록/읽기/소거 등)에 대한 정보, 플래시 메모리에서 멀티 플레인 오퍼레이션을 수행할 플레인의 개수에 대한 정보인 멀티 플레인의 개수 정보 및 멀티 플레인 오퍼레이션을 수행할 플래시 메모리의 어드레스 정보를 적어도 포함할 수 있다.The control signal received from the
상기 플래시 메모리 인터페이스부(209)는 플래시 메모리를 제어하는 제어신호를 생성하고 또한 상기 호스트 인터페이스부(201)로부터의 제어신호에 의해 후술하는 바와 같이 버퍼부(203)로부터 데이터를 수신하여 플래시 메모리와 데이터 및 제어신호를 송수신한다.The flash
상기 두 개의 인터페이스부는 서로 독립적으로 동작할 수 있다. 즉 호스트 인터페이스부(201)가 동작하는 동안에 플래시 메모리 인터페이스부(209)가 동작을 할 수도 있고, 경우에 따라서는 플래시 메모리 인터페이스부(205)는 동작하지 않을 수도 있다. The two interface units may operate independently of each other. That is, the flash
상기 버퍼부(203)는 물리적으로 구분되는 적어도 2개의 버퍼를 포함하며, 상기 호스트 인터페이스부(201)를 통해 호스트(220)로부터 수신되는 데이터를 저장하였다가 플래시 메모리 인터페이스부(209)로 전송하는 기능을 수행한다. 도 2에서는, 2개의 버퍼 즉, 제1 버퍼(205) 및 제2 버퍼(207)로 구성된 경우를 나타내었으며, 상기 제1 버퍼(205) 및 제2 버퍼(207)는 하나의 포트를 통해 입/출력이 이루어지는 싱글 포트(single port) 메모리를 사용한다.The
이러한 구성의 플래시 메모리 제어장치(210)는 다음과 같이 동작한다.The
우선, 호스트 인터페이스부(201)는 호스트(220)로부터 제어 신호 및 데이터를 전송받는다. 여기에서, 제어신호는 앞서 설명한 바와 같이, 플래시 메모리에 대하여 수행할 멀티 플레인 오퍼레이션(multi plane operation)의 종류(예컨대, 기록/읽기/소거 등)에 대한 정보, 플래시 메모리에서 멀티 플레인 오퍼레이션을 수행할 플레인의 개수에 대한 정보인 멀티 플레인의 개수 정보 및 멀티 플레인 오퍼레이션을 수행할 플래시 메모리의 어드레스 정보를 적어도 포함한다.First, the
호스트 인터페이스부(201)는 수신한 데이터를 버퍼부(203) 중 예컨대 제 1 버퍼(205)에 저장하고, 멀티 플레인 오퍼레이션의 종류, 멀티 플레인의 개수 및 플래시 메모리의 어드레스 정보를 플래시 메모리 인터페이스부(209)로 전송한다.The
이 때, 멀티 플레인의 개수가 2 이상의 복수인 경우, 호스트 인터페이스부(201)는 호스트(220)로부터 입력되는 데이터를 제1 버퍼(205)에 우선 기록하고 제1 버퍼(205)가 가득 차면 제2 버퍼(207)에 순차적으로기록한다. 마찬가지로 제2 버퍼(207)가 가득 차면 제1 버퍼(205)로 다시 기록하는 과정을 반복한다. 후술하는 바와 같이, 제1 버퍼(205) 및 제2 버퍼(207)는 플래시 메모리 인터페이스부(209)로 순차적으로 번갈아 데이터를 전송하므로 어느 하나의 버퍼가 호스트 인터페이스부(201)로부터 데이터를 입력받는 동안에는 다른 버퍼는 데이터를 플래시 메모리 인터페이스부(209)로 전송하므로데이터가 겹칠 염려는 없다.In this case, when the number of multi-planes is two or more, the
플래시 메모리 인터페이스부(209)는 호스트 인터페이스부(201)로부터 수신되는 제어 신호에 포함된 멀티 플레인의 개수에 해당하는 횟수동안 제1 버퍼(205) 및 제2 버퍼(207)에서 데이터를 수신하면서 수신된 데이터 및 해당 어드레스를 플래시 메모리로 전송하는 과정을 반복한다. 플래시 메모리 인터페이스부(209)는 앞서 설명한 바와 같이 우선 제1 버퍼(205)에 데이터가 저장되어 있으므로 제1 버퍼(205)로부터 제1 버퍼(205)가 빌 때까지 데이터를 읽어 들이고 제1 버퍼(205)가 비면 제2 버퍼(207)에서 데이터를 읽어 들이는 과정을 반복한다.The flash
플래시 메모리 인터페이스부(209)는 멀티 플레인의 개수에 해당하는 횟수동안 데이터를 수신하여 플래시 메모리로 전송하고, 플래시 메모리는 제어 신호에 포함되어 있는 멀티 플레인 오퍼레이션의 종류에 대응하는 작업을 동시에 수행하게 된다.The flash
한편, 버퍼부(203)의 제1 버퍼(205) 및 제2 버퍼(207)는 자신이 데이터를 가지고 있는지를 나타내는 신호 예컨대 가득 참(Full) 또는 비어있음(Empty) 신호를 호스트 인터페이스부(201) 및 플래시 메모리 인터페이스부(209)로 전송하도록 할 수 있다. Meanwhile, the
이 경우, 호스트 인터페이스부(201)는 버퍼부(403)의 제1 버퍼(205)로부터 가득 참(Full) 신호를 수신하면, 제2 버퍼(207)로 데이터를 전송하기 시작하고, 마찬가지로 제2 버퍼(207)에 데이터가 가득 차면 제2 버퍼(207)는 호스트 인터페이스부(201)로 가득 참(Full) 신호를 전송하여 다음 버퍼(제1 버퍼)로 데이터를 전송하도록 한다. In this case, when the
한편, 플래시 메모리 인터페이스부(209)는 제2 버퍼(207)로 데이터가 기록되는 동안 제1 버퍼(205)로부터 데이터를 수신하며 제1 버퍼(205)는 데이터 전송이 완료되면 비어있음(Empty) 신호를 플래시 메모리 인터페이스부(209)로 전송하여 다음 버퍼(제2 버퍼)에서 데이터를 읽도록 한다.Meanwhile, the flash
이러한 과정을 멀티 플레인의 개수만큼의 횟수 동안 반복함으로써, 버퍼에서의 시간 손실 없이 플래시 메모리에 대한 멀티 오퍼레이션을 효과적으로 지원할 수 있게 된다.By repeating this process for as many times as the number of multiplanes, it is possible to effectively support multi-operation for the flash memory without losing time in the buffer.
도 3은 본 발명의 바람직한 일 실시예에 따른 플래시 메모리 제어 장치를 사용하여 플래시 메모리에서 데이터를 기록하는 경우를 나타낸 타이밍도이다.3 is a timing diagram illustrating a case in which data is written from a flash memory using a flash memory control apparatus according to an exemplary embodiment of the present invention.
도 3은 플레인이 2개인 플래시 메모리에서 데이터를 기록하는 경우에 대한 것으로서, NFL_REB 신호는 쓰기 가능(Read Enable)을 나타내는 신호이고, NFL_IO[7:0] 신호는 입출력 포트를 나타내는 신호이다. 3 illustrates a case of writing data in a flash memory having two planes, wherein an NFL_REB signal is a signal indicating read enable, and an NFL_IO [7: 0] signal is a signal indicating an input / output port.
도 3에 도시한 바와 같이, NFL_IO[7:0]신호에 의해 우선 제1 플레인에 대하여 데이터를 전송하고 해당 오퍼레이션을 수행한다. 이 오퍼레이션의 종류는 앞서 설명한 바와 같이 호스트(220)로부터 호스트 인터페이스부(201)를 통해 수신된다. 이 오퍼레이션이 예컨대 기록 명령인 경우 제1 플레인의 플레인 레지스터에 데이터를 기록한다.As shown in FIG. 3, data is first transmitted to a first plane by an NFL_IO [7: 0] signal, and a corresponding operation is performed. The type of this operation is received from the
다음으로, 약간의 지연시간(310) 후 마찬가지로 제 2플레인에 대하여 데이터를 전송하고 해당 오퍼레이션을 수행하는데, 기록 명령인 경우 제2 플레인의 플레인 레지스터에 데이터를 기록하고 이 작업이 완료되면 제1 플레인 및 제2 플레인의 각각의 어드레스에 시간(320)에서 멀티 플레인 오퍼레이션을 동시에 수행하게 된다.Next, after some
도 4는 본 발명의 다른 실시예에 따른 플래시 메모리 제어 장치의 구성을 나타낸 블록도이다.4 is a block diagram showing a configuration of a flash memory control apparatus according to another embodiment of the present invention.
도 4의 실시예는 도 2에서 설명한 구성과 기본적으로 동일하되, 버퍼부(403)의 구성에서만 차이가 있다. 즉, 도 4의 버퍼부(403)는 도 2에서와 같이 복수개의 버퍼로 구성하는 것이 아니라 물리적으로 단일한 버퍼를 사용한다는 점을 특징으로 한다.4 is basically the same as the configuration described with reference to FIG. 2, but differs only in the configuration of the
다만, 물리적으로 단일한 버퍼를 사용하므로 멀티 플레인 오퍼레이션을 충분히 지원하기 위해서는 버퍼부(403)는 입/출력 포트가 분리되어 FIFO(First in First out)가 가능한 듀얼 포트 메모리를 사용하는 것이 바람직하다. 즉, 입력 포트를 통해 호스트 인터페이스부(201)로부터 데이터가 입력되는 동시에 출력 포트를 통해 플래시 메모리 인터페이스부(209)로 데이터를 전송하는 것이 가능한 메모리를 사용한다.However, since a single physical buffer is used, it is preferable that the
이상에서, 본 발명의 바람직한 실시예들을 참조하여 설명하였으나 본 발명은 상기 실시예에 한정되는 것이 아니며 첨부한 청구범위 및 도면을 참조하여 여러가지 형태의 변형, 수정 실시가 가능함은 물론이다.In the above, the present invention has been described with reference to preferred embodiments, but the present invention is not limited to the above embodiments, and various forms of modification and modification can be made with reference to the appended claims and drawings.
예컨대, 상기 실시예는 낸드(NAND)형 플래시 메모리에 주로 사용될 수 있으나 멀티 플레인 오퍼레이션을 지원한다면 낸드형 플래시 메모리 이외의 다른 플래시 메모리에도 그대로 적용될 수 있을 것이다.For example, the above embodiment may be mainly used for a NAND flash memory, but may be applied to other flash memories other than the NAND flash memory if the multi-plane operation is supported.
본 발명에 의하면, 간단하고 저렴한 구성으로 멀티 플레인 오퍼레이션을 지원할 수 있는 플래시 메모리 제어 방법 및 장치를 제공할 수 있다. According to the present invention, it is possible to provide a flash memory control method and apparatus capable of supporting a multi-plane operation with a simple and inexpensive configuration.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050127855A KR100761374B1 (en) | 2005-12-22 | 2005-12-22 | Method and Apparatus for controlling flash memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050127855A KR100761374B1 (en) | 2005-12-22 | 2005-12-22 | Method and Apparatus for controlling flash memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070066539A KR20070066539A (en) | 2007-06-27 |
KR100761374B1 true KR100761374B1 (en) | 2007-09-27 |
Family
ID=38365589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050127855A KR100761374B1 (en) | 2005-12-22 | 2005-12-22 | Method and Apparatus for controlling flash memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100761374B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110054788A (en) * | 2009-11-18 | 2011-05-25 | 삼성전자주식회사 | Apparatus and method for storing data using non-volatile buffer |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101027687B1 (en) * | 2009-09-17 | 2011-04-12 | 주식회사 하이닉스반도체 | Solid State Storage System for Controlling Write Operation and Method of Controlling the Same |
KR102242957B1 (en) * | 2019-06-03 | 2021-04-21 | 주식회사 원세미콘 | High speed NAND memory system and high speed NAND memory package device |
KR102543920B1 (en) * | 2021-02-05 | 2023-06-20 | 엘아이지넥스원 주식회사 | Icp type acceleration measurement module and method therefof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020092261A (en) * | 2002-08-31 | 2002-12-11 | 지인정보기술 주식회사 | Management Scheme for Flash Memory with the Multi-Plane Architecture |
US20050144363A1 (en) | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
KR20050078233A (en) * | 2004-01-30 | 2005-08-04 | 가부시끼가이샤 도시바 | Non-volatile semiconductor memory device |
KR20050101838A (en) * | 2004-04-20 | 2005-10-25 | 매그나칩 반도체 유한회사 | Compact flash card |
-
2005
- 2005-12-22 KR KR1020050127855A patent/KR100761374B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020092261A (en) * | 2002-08-31 | 2002-12-11 | 지인정보기술 주식회사 | Management Scheme for Flash Memory with the Multi-Plane Architecture |
US20050144363A1 (en) | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
KR20050078233A (en) * | 2004-01-30 | 2005-08-04 | 가부시끼가이샤 도시바 | Non-volatile semiconductor memory device |
KR20050101838A (en) * | 2004-04-20 | 2005-10-25 | 매그나칩 반도체 유한회사 | Compact flash card |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110054788A (en) * | 2009-11-18 | 2011-05-25 | 삼성전자주식회사 | Apparatus and method for storing data using non-volatile buffer |
KR101627322B1 (en) | 2009-11-18 | 2016-06-03 | 삼성전자주식회사 | Apparatus and Method for storing data using non-volatile buffer |
Also Published As
Publication number | Publication date |
---|---|
KR20070066539A (en) | 2007-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8521945B2 (en) | Portable data storage using SLC and MLC flash memory | |
US8144515B2 (en) | Interleaved flash storage system and method | |
KR100673013B1 (en) | Memory controller and data processing system with the same | |
KR102514772B1 (en) | Nonvolatile memory device capable of performing asynchronous operations, nonvolatile memory system including the same, and operation performing method of the same | |
KR101507194B1 (en) | Serial interface nand | |
US7937523B2 (en) | Memory system with nonvolatile semiconductor memory | |
US20040193782A1 (en) | Nonvolatile intelligent flash cache memory | |
KR20080017982A (en) | Flash memory system and program method thereof | |
CN102096647A (en) | Multi-chip memory system and related data transfer method | |
CN101568904A (en) | High speed fanned out system architecture and input/output circuits for non-volatile memory | |
CN104981873A (en) | System and method of reading data from memory concurrently with sending write data to the memory | |
CN105528299B (en) | Method for scheduling read commands and apparatus using the same | |
US8369163B2 (en) | Memory device for reducing programming time | |
US7831755B2 (en) | Method and system for interfacing a plurality of memory devices using an MMC/SD protocol | |
KR20200060758A (en) | Memory addressing methods and associated controllers, memory devices and hosts | |
US20130054885A1 (en) | Multiport memory element and semiconductor device and system including the same | |
KR100761374B1 (en) | Method and Apparatus for controlling flash memory | |
US8151144B2 (en) | Memory card, nonvolatile memory, controller, and method for managing writing errors for nonvolatile memories | |
CN112256203B (en) | Writing method, device, equipment, medium and system of FLASH memory | |
CN110874190A (en) | Flash memory controller and method | |
WO2007114676A1 (en) | Device having shared memory and method for providing access status information by shared memory | |
KR100685324B1 (en) | A system for accessing nand flash memory at random using dual-port dram and a controller thereof | |
KR101175250B1 (en) | NAND Flash Memory device and controller thereof, Write operation method | |
US20080005417A1 (en) | Method for speedy delivery of data between processors and digital processing apparatus having shared memory | |
US20090043945A1 (en) | Non-Volatile Memory System and Method for Reading Data Therefrom |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20120710 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20130826 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140827 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150728 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20170829 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20180823 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20190826 Year of fee payment: 13 |