KR20050035836A - 다중 낸드 플래시 메모리 인터페이스 장치 - Google Patents
다중 낸드 플래시 메모리 인터페이스 장치 Download PDFInfo
- Publication number
- KR20050035836A KR20050035836A KR1020050006165A KR20050006165A KR20050035836A KR 20050035836 A KR20050035836 A KR 20050035836A KR 1020050006165 A KR1020050006165 A KR 1020050006165A KR 20050006165 A KR20050006165 A KR 20050006165A KR 20050035836 A KR20050035836 A KR 20050035836A
- Authority
- KR
- South Korea
- Prior art keywords
- nand flash
- data
- flash memory
- host processor
- interface
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0835—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
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
호스트 프로세서와 다수개의 낸드 플래시 메모리를 연결함에 있어 동시에 다수개의 낸드 플래시 메모리와 데이타 전송을 하는 구조를 가지고 있다. 동시성을 지원하기 위해 다수개의 인터페이스 장치를 가지고 있고, 다수개의 DMA 제어장치와 데이타의 보관을 위한 다수개의 페이지(Page) 분량의 데이타 메모리를 가지고 있다. 상기의 장치를 연결하여 제어하기 위한 제어신호를 전송한다.
Description
전원이 차단되어도 저장된 정보가 소멸되지 않는 플래시 메모리는 현재 많은 휴대용 정보기기에 필수적으로 사용되고 있다. 그 중에서 낸드형 플래시 메모리는 높은 집적도가 가능하다는 장점이 있는 반면, 메모리셀의 구조적인 원인으로 인해 데이타 처리속도가 늦다는 단점을 안고 있다.
도 1은 낸드 플래시 메모리(1)의 기본적인 제어신호를 나타낸 블럭도이다. 낸드 플래시 메모리의 데이타 처리는 페이지(Page) 라는 단위로 이루어 지게 되는데, 한 페이지를 판독하기 위해서는 도 1에서의 제어신호중에서 CEN(Chip Enable)을 로우(Low)로 하고, CLE(Command Latch Enable)를 하이(High)로 한 후 Data를 통해서 Read 명령을 보내고, ALE(Address Latch Enable)을 하이(High)로 한 후 Data를 통해서 판독하려고 하는 주소를 보내면 낸드 플래시 메모리 내부에서 해당 페이지의 데이타를 준비하게 된다. 한 페이지를 저장하기 위해서는 도 1에서의 제어신호중에서 CEN(Chip Enable)을 로우(Low)로 하고, CLE(Command Latch Enable)를 하이(High)로 한 후 Data를 통해서 Program 명령을 보내고, ALE(Address Latch Enable)을 하이(High)로 한 후 Data를 통해서 저장하려고 하는 주소를 보내고, WEN(Write Enable)에 동기를 맞춰 Data를 통해서 데이타를 보내면 된다. 이 때 다른 메모리와의 차이점은, 다수의 페이지의 집합체인 블럭(Block)이 초기화가 안 된 상태에서는 저장이 안된다는 점이다. 그러므로 해당 페이지가 있는 블럭을 먼저 초기화를 한 후 저장을 하여야 한다. 이런 점 때문에 낸드 플래시 메모리는 판독과 저장의 처리 속도가 현격히 차이가 난다.
도 2는 단일 낸드 플래시 메모리를 제어하기 위한 일반적인 시스템의 블럭도이다. 이와 같이 구성할 경우 호스트 프로세서(2)는 인터페이스 장치(3)를 제어함으로써 낸드 플래시 메모리의 데이타를 처리할 수 있다. 이런 구조에 있어서 문제점은, 호스트 프로세서(2)가 여러 페이지의 데이타를 연속적으로 저장할 때, 낸드 플래시 메모리의 내부 셀(Cell)에 실질적으로 저장될 때까지의 시간을 매 페이지마다 기다려야 한다는 것이다. 이 시간은 저장 속도 향상에 큰 지장을 초래한다.
도 3은 다중 낸드 플래시 메모리를 적용한 일반적인 시스템의 블럭도이다. 도 2와 같은 구조에서의 문제점을 해결하기 위해 낸드 플래시 메모리를 다중으로 연결하고, 각각의 CEN(Chip Enable)을 개별적으로 두어 하나의 낸드 플래시 메모리가 내부 셀(Cell)에 저장중일 때 호스트 프로세서(2)는 다른 하나의 낸드 플래시 메모리에 데이타를 전송할 수 있도록 한 것이다.
도 3과 같은 구조에서는 다수개의 낸드 플래시 메모리에 동시에 데이타를 전송할 수 없는 구조이고, 한 블럭(Block)을 초기화 하는 시간동안 호스트 프로세서(2)는 대기 할 수 밖에 없으므로 속도 향상에 큰 효과가 없는 문제가 있다.
본 발명은 상기와 같은 속도 저하의 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 다수개의 낸드 플래시 메모리를 적용한 제품에서 호스트 프로세서(2)로부터의 데이타를 동시에 다수개의 낸드 플래시 메모리에 전송할 수 있는 구조의 인터페이스를 발명하는데 있다.
본 발명의 다른 목적은 다수개의 낸드 플래시 메모리를 연결함에 있어서 블럭(Block)을 초기화하는 시간을 공유하게 함으로써, 호스트 프로세서(2)의 대기시간을 줄일수 있는 소프트웨어적인 구조를 발명함에 있다.
도 4 는 상기의 목적을 달성하기 위해 본 발명의 다중 낸드 플래시 메모리 인터페이스 장치(4)를 적용한 시스템의 블럭도이다.
도 4 의 동작을 낸드 플래시 메모리로의 데이타 저장 동작으로 설명하면 다음과 같다. 호스트 프로세서(2)는 낸드 플래시 메모리로 보낼 한 페이지(Page) 단위의 데이타를 데이타 메모리(5)로 전송한다.
상기의 데이타 메모리(5)는 다수개의 낸드 플래시 메모리와 동시에 데이타를 전송할 수 있도록 여러 페이지(Page) 분량의 용량을 가질 수 있다.
호스트 프로세서(2)는 도 5 와 같은 인터페이스 장치(4)내에 있는 호스트 프로세서 인터페이스(7)에 데이타 전송 시작 명령을 전달함으로써 한 페이지의 데이타 전송을 위한 호스트 프로세서(2)의 역활은 끝난다. DMA(Direct Memory Access) 제어장치(6)는 데이타 메모리(5)로부터 DMA(Direct Memory Access) 인터페이스(9)와 낸드 플래시 메모리 인터페이스(8)를 거쳐 낸드 플래시 메모리(1)로 데이타를 전송한다.
상기의 DMA 제어장치(6)는 다수개의 인터페이스 장치(4)로 부터 오는 데이타 전송 시작 동작을 수용하기 위해 다수개의 채널(Channel)로 구성할 수 있다.
상기와 같은 방법으로 하나의 낸드 플래시 메모리에 데이타를 전송하는 동안, 호스트 프로세서(2)는 다음 페이지(Page)의 데이타를 데이타 메모리(5)에 전송하고 현재 사용중이 아닌 다른 인터페이스 장치(4)에 데이타 전송 시작 명령을 전달함으로써 다수개의 인터페이스 장치(4)가 동시에 낸드 플래시 메모리로 데이타를 전송할 수 있다.
도 6 은 상기의 과정을 타이밍도로 나타낸 것이다. 첫번째 행은 호스트 프로세서(2)로 부터 데이타 메모리(5)로 전송하는 데이타의 타이밍이며, 두번째 행부터 다섯번째 행까지는 데이타 메모리(5)로 부터 DMA(Direct Memory Access) 제어장치(6)와 인터페이스 장치(4)를 거쳐 낸드 플래시 메모리(1)로 데이타가 전송되는 타이밍이다. 두번째 행부터 다섯번째 행까지는 각각 별개의 DMA(Direct Memory Access) 채널(Channel)과 각각 별개의 인터페이스 장치(4)를 의미한다.
상기의 동작을 역으로 하면 낸드 플래시 메모리로부터 데이타 판독을 하는 동작과 같다.
본 발명의 다른 목적으로서 다수의 페이지(Page)의 집합체인 블럭(Block)의 초기화 시간을 줄이기 위해서는 도 4 와 같이 하나의 인터페이스 장치(4)에 다수의 낸드 플래시 메모리를 연결한다. 소프트웨어적으로는 한 인터페이스 장치(4)에 연결된 다수의 낸드 플래시 메모리(1)에서 하나의 낸드 플래시 메모리 내의 블럭(Block)을 초기화할때 다른 낸드 플래시 메모리 내의 같은 주소 블럭(Block)도 초기화를 하도록 한다. 이렇게 함으로써 하나의 인터페이스 장치(4)에 연결된 다수의 낸드 플래시 메모리는 동시에 초기화가 되고 이 시간동안 호스트 프로세서는 다른 인터페이스 장치(4)들과 데이타 전송을 할 수 있다.
상기와 같이 본 발명에 따르면, 하드웨어적인 구성을 추가하고 데이타의 흐름을 제어함으로써 호스트 프로세서의 대기시간을 줄이고 지속적으로 낸드 플래시 메모리와의 데이타 전송을 유지함으로써 고속의 데이타 처리속도를 구현할 수가 있다.
다중의 낸드 플래시 메모리를 연결함에 있어서, 하나의 인터페이스 장치에 다중의 낸드 플래시 메모리를 연결할때의 부하 과다를 해소할 수 가 있다.
이상에서는 본 발명의 바람직한 실시예에 대하여 설명하였으나, 본 발명은 상술한 실시예에 한정되지 아니하며, 특허 청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 변형실시가 가능할 것이다.
도 1 은 낸드 플래시 메모리의 기본적인 제어신호를 나타낸 블럭도
도 2 는 단일 낸드 플래시 메모리를 제어하기 위한 일반적인 시스템 블럭도
도 3 은 다중 낸드 플래시 메모리를 적용한 일반적인 시스템 블럭도
도 4 는 본 발명에 따른 다중 낸드 플래시 메모리 인터페이스를 적용한 시스템 블럭도
도 5 는 본 발명에 따른 다중 낸드 플래시 메모리 인터페이스 내부 블럭도
도 6 은 본 발명에 따른 다중 낸드 플래시 메모리 인터페이스 타이밍도
Claims (1)
- 호스트 프로세서와 다중 낸드 플래시 메모리간의 데이타 흐름에 있어서,다중의 인터페이스 장치;상기 호스트 프로세서는 데이타 메모리까지의 데이타 전송만을 담당하는 제어;각각의 인터페이스 장치를 통한 데이타 전송을 담당하는 DMA 제어장치;각 페이지(Page) 영역을 동시에 제어할수 있는 데이타 메모리;한 인터페이스 장치에 연결된 다중의 낸드 플래시 메모리에서 같은 주소의 블럭을 동시에 초기화하는 것을 특징으로 하는 방법;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050006165A KR20050035836A (ko) | 2005-01-24 | 2005-01-24 | 다중 낸드 플래시 메모리 인터페이스 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050006165A KR20050035836A (ko) | 2005-01-24 | 2005-01-24 | 다중 낸드 플래시 메모리 인터페이스 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050035836A true KR20050035836A (ko) | 2005-04-19 |
Family
ID=37239174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050006165A KR20050035836A (ko) | 2005-01-24 | 2005-01-24 | 다중 낸드 플래시 메모리 인터페이스 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20050035836A (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100708128B1 (ko) * | 2005-04-30 | 2007-04-17 | 삼성전자주식회사 | 낸드 플래시 메모리 제어 장치 및 방법 |
KR100753174B1 (ko) * | 2007-06-12 | 2007-08-30 | 엠진 (주) | 플래시 메모리 기반의 대용량 저장장치 |
US7730234B2 (en) | 2006-07-07 | 2010-06-01 | Samsung Electronics Co., Ltd. | Command decoding system and method of decoding a command including a device controller configured to sequentially fetch the micro-commands in an instruction block |
KR101128255B1 (ko) * | 2006-03-21 | 2012-03-23 | 엘지전자 주식회사 | 컴퓨터 시스템의 스토리지 제어장치 |
KR101135313B1 (ko) * | 2010-04-23 | 2012-04-17 | 성균관대학교산학협력단 | 요청 동작을 스케줄링하는 낸드 플래시 메모리 장치 및 방법 |
US9159438B2 (en) | 2006-12-29 | 2015-10-13 | Samsung Electronics, Co., Ltd. | NAND flash memory having C/A pin and flash memory system including the same |
-
2005
- 2005-01-24 KR KR1020050006165A patent/KR20050035836A/ko not_active Application Discontinuation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100708128B1 (ko) * | 2005-04-30 | 2007-04-17 | 삼성전자주식회사 | 낸드 플래시 메모리 제어 장치 및 방법 |
KR101128255B1 (ko) * | 2006-03-21 | 2012-03-23 | 엘지전자 주식회사 | 컴퓨터 시스템의 스토리지 제어장치 |
US7730234B2 (en) | 2006-07-07 | 2010-06-01 | Samsung Electronics Co., Ltd. | Command decoding system and method of decoding a command including a device controller configured to sequentially fetch the micro-commands in an instruction block |
US9159438B2 (en) | 2006-12-29 | 2015-10-13 | Samsung Electronics, Co., Ltd. | NAND flash memory having C/A pin and flash memory system including the same |
KR100753174B1 (ko) * | 2007-06-12 | 2007-08-30 | 엠진 (주) | 플래시 메모리 기반의 대용량 저장장치 |
KR101135313B1 (ko) * | 2010-04-23 | 2012-04-17 | 성균관대학교산학협력단 | 요청 동작을 스케줄링하는 낸드 플래시 메모리 장치 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11094371B2 (en) | Memory device for processing operation and method of operating the same | |
US8521945B2 (en) | Portable data storage using SLC and MLC flash memory | |
US5822251A (en) | Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers | |
KR100758301B1 (ko) | 메모리 카드 및 그것의 데이터 저장 방법 | |
US10915473B2 (en) | Data storage device | |
US20070088867A1 (en) | Memory controller and data processing system with the same | |
US11837319B2 (en) | Multi-port memory device and a method of using the same | |
EP1564646A2 (en) | Configurable embedded processor | |
TW200527427A (en) | Memory buffer device integrating refresh | |
KR20050035836A (ko) | 다중 낸드 플래시 메모리 인터페이스 장치 | |
KR20200108768A (ko) | 연산 처리를 수행하는 메모리 장치 및 메모리 장치의 동작방법 | |
CN111158633A (zh) | 一种基于fpga的ddr3多通道读写控制器及控制方法 | |
CN109471819B (zh) | 为来自主机的读取请求提供短的读取响应时间的存储设备 | |
CN102968396B (zh) | 从Flash芯片到SRAM芯片的专用数据传输模块 | |
CN207008602U (zh) | 一种基于NandFlash存储器多通道的存储阵列控制装置 | |
US20230342076A1 (en) | Semiconductor device | |
KR100761374B1 (ko) | 플래시 메모리 제어 방법 및 장치 | |
US20110131369A1 (en) | Logic device | |
EP4273865A1 (en) | Monolithic serial nor flash with wide input-output bus | |
EP4242782A1 (en) | Memory, control method for memory, and memory system | |
US20240028244A1 (en) | Methods of operating memory systems with input/output expanders for multi-channel status reads, and associated systems and devices | |
JPS59229663A (ja) | 平行処理マルチcpuシステム | |
US20130013820A1 (en) | Method for initializing registers of peripherals in a microcontroller | |
KR101285883B1 (ko) | 다수의 프로세서 신호를 하나의 메모리로 전송하기 위한신호 처리 방법 및 장치 | |
CN118035142A (zh) | 一种基于fpga的sata数据dma传输系统及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G15R | Request for early opening | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |