KR20000026300A - 플래쉬 메모리를 이용한 데이터 저장장치 및 방법 - Google Patents

플래쉬 메모리를 이용한 데이터 저장장치 및 방법 Download PDF

Info

Publication number
KR20000026300A
KR20000026300A KR1019980043787A KR19980043787A KR20000026300A KR 20000026300 A KR20000026300 A KR 20000026300A KR 1019980043787 A KR1019980043787 A KR 1019980043787A KR 19980043787 A KR19980043787 A KR 19980043787A KR 20000026300 A KR20000026300 A KR 20000026300A
Authority
KR
South Korea
Prior art keywords
flash memory
channel
data
memory unit
unit
Prior art date
Application number
KR1019980043787A
Other languages
English (en)
Other versions
KR100285967B1 (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 KR1019980043787A priority Critical patent/KR100285967B1/ko
Publication of KR20000026300A publication Critical patent/KR20000026300A/ko
Application granted granted Critical
Publication of KR100285967B1 publication Critical patent/KR100285967B1/ko

Links

Classifications

    • 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/1673Details of memory controller using buffers
    • 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)

Abstract

본 발명은 입력 채널별로 분리되어 있는 플래쉬 메모리부를 동시에 제어하고, 각 플래쉬 메모리부를 구성하는 다수의 플래쉬 메모리소자를 하나의 소자처럼 사용함으로써, 동영상 신호와 같은 대용량의 데이터를 보다 빠르게 처리할 수 있는 플래쉬 메모리를 이용한 데이터 저장장치 및 방법을 제공하는 데 그 목적이 있다.
본 발명에 따르면, 각각의 플래쉬 메모리소자로 인가되는 중앙처리장치의 억세스 명령과 기록 명령을 입력받아서, 다수의 채널을 통해 입력되는 데이터신호를 각 채널별로 할당된 플래쉬 메모리부에 저장하는 데이터 저장장치에 있어서, 임의의 한 채널로부터 입력되는 상기 데이터신호를 시스템버스의 버스크기로 크기 변환하는 각 채널별로 할당된 버퍼 메모리부와; 상기 버퍼 메모리부에서 출력되는 크기 변환된 데이터신호를 각 채널별로 할당된 플래쉬 메모리부로 전송하고, 상기 중앙처리장치의 억세스 명령과 기록 명령을 상기 플래쉬 메모리부 각각으로 동시에 전송하는 데이터 경로 선택 회로부; 상기 데이터 경로 선택 회로부를 통해 입력되는 상기 크기 변환된 데이터신호를 저장하는 각 채널별로 할당된 상기 플래쉬 메모리부; 및 상기 각 채널별로 할당된 버퍼 메모리부, 데이터 경로 선택 회로부, 각 채널로 제어신호를 인가하는 제어부를 포함한 것을 특징으로 하는 플래쉬 메모리를 이용한 데이터 저장장치를 제공한다.

Description

플래쉬 메모리를 이용한 데이터 저장장치 및 방법
본 발명은 데이터 저장장치에 관한 것으로, 특히 플래쉬 메모리를 이용한 데이터 저장장치 및 데이터 저장방법에 관한 것이다.
플래쉬 메모리(Flash Memory)란, 전원이 꺼지면 저장된 데이터가 소멸되는 일반 램(Random Access Memory : RAM)과는 달리 전원이 꺼져도 저장된 데이터가 그대로 보존되는 진보된 반도체를 말한다. 이러한 플래쉬 메모리의 특성 때문에, 플래쉬 메모리는 밧데리가 소모되어도 데이터가 안정되게 저장되어야 하는 전자수첩등의 데이터 저장장치에 많이 사용되고 있는 추세이다.
일반적으로 플래쉬 메모리는 다수의 페이지(page)로 이루어지고 각각의 페이지는 다수의 칼럼(column)으로 이루어지며, 각 칼럼에는 1바이트(byte) 혹은 2바이트의 데이터(data)가 저장된다. 따라서, 플래쉬 메모리에 데이터를 저장하려면, 저장하고자 하는 데이터정보와 함께 데이터가 저장되는 번지(address)정보를 함께 제공하여야 하며, 이러한 번지정보에는 칼럼번지와 페이지번지가 포함된다.
이러한 종래의 플래쉬 메모리를 이용한 데이터 저장장치는 대한민국 공개특허 96-86675호 "플래쉬메모리를 사용하는 동영상신호 실시간 처리방법 및 그 장치"에 상세하게 기술되어 있으며, 이는 도 1에 도시된 바와 같다.
즉, 이는 시간분할 기법을 이용한 것으로써, 제1레지스터부(10)와, 다단 레지스터부(20), 다단 선입선출 메모리부(30), 다단 플래쉬 메모리부(40), 그리고 클럭 분주부(50)로 구성된다.
상기한 제1레지스터부(10)는 연속적으로 입력되는 동영상신호와 데이터 클럭을 입력받아 동영상신호를 데이터 클럭에 동기화시켜 출력하는데, 이 데이터 클럭은 동영상신호의 시간분할 처리에 적합한 주파수를 가진다. 다단 레지스터부(20)는 다수의 레지스터들이 병렬로 연결되어 구성되는데, 다수의 레지스터들은 클럭 분주부(50)에서 출력되는 분주된 데이터 클럭에 의해 순차적으로 동작한다. 다단 레지스터부(20)를 구성하는 다수의 레지스터들이 순차적으로 동작하는 동안에 데이터 클럭에 동기화된 동영상신호는 다단 선입선출 메모리부(30)에 순차적으로 저장된다.
이와 같이 동영상신호를 분주한 후 다단 선입선출 메모리부로 저장하는 이유는, 플래쉬 메모리가 고속의 동영상신호를 실시간에 처리할 수 없기 때문이다. 따라서, 다단 레지스터부(20)를 이용하여 동영상신호를 분주하고, 분주된 동영상신호를 다단 선입선출 메모리부(30)를 통해 다단 플래쉬 메모리부(40)에 저장한다.
상기 다단 선입선출 메모리부(30)는 다단 레지스터부(20)의 각각의 레지스터에 대응하는 선입선출(First In First Out:FIFO) 메모리들이 직렬로 연결되어 구성된다. 다단 레지스터부(20)의 각각의 레지스터를 통해 입력되는 분주된 동영상신호를 입력받아 각각의 선입선출 메모리에 임시 저장한다.
다단 플래쉬 메모리부(40)는 다단 선입선출 메모리부(30)의 각각의 선입선출 메모리에 각각 대응하는 플래쉬 메모리들로 구성되어 있으며, 다단 선입선출 메모리부(30)의 각각의 선입선출 메모리에서 출력되는 분주된 동영상신호를 입력받아 각각의 플래쉬 메모리에 순차적으로 저장한다.
이때, 다단 플래쉬 메모리부(40)를 구성하는 각각의 플래쉬 메모리는 도시되지 않은 중앙처리장치의 제어를 받아 구동한다. 즉, 중앙처리장치로부터 플래쉬 메모리로 억세스(access) 명령이 인가되면 플래쉬 메모리는 선입선출 메모리에 임시 저장되어 있는 분주된 동영상신호의 한 페이지 분량을 내부 페이지 버퍼에 기록한다. 그 후, 중앙처리장치로부터 기록 명령이 인가되면 플래쉬 메모리는 내부 페이지 버퍼에 저장된 동영상신호를 플래쉬 메모리의 메모리셀로 이동시켜 기록한다. 상기 클럭 분주부(50)는 데이터 클럭을 제1레지스터(10)로 제공하고, 분주된 데이터 클럭을 다단 레지스터부(20)의 각각의 레지스터에 순차적으로 출력한다.
이러한 종래의 데이터 저장장치는, 입력되는 동영상신호를 시간분할 기법을 이용하여 분주한 후 다단 선입선출 메모리부(30)에 임시 저장한다. 그 후, 다단 선입선출 메모리부(30)에 임시 저장된 동영상신호를 다단 플래쉬 메모리부에 저장하기 위하여, 먼저 플래쉬 메모리의 내부 페이지 버퍼에 한 페이지 분량의 동영상신호를 저장하고, 그 다음에 내부 페이지 버퍼에 저장된 동영상신호가 플래쉬 메모리의 메모리셀로 이동할 때까지 대기한다.
이때, 동영상신호가 선입선출 메모리로부터 플래쉬 메모리의 내부 페이지 버퍼로 기록되는 시간을 억세스 시간, 플래쉬 메모리의 내부 페이지 버퍼로부터 메모리셀로 이동하여 기록되는 시간을 기록 시간이라고 한다. 플래쉬 메모리의 특성상, 기록 시간은 억세스 시간에 비하여 매우 길며, 중앙처리장치는 기록 시간동안에 다른 제어를 수행하지 못하고 대기한다.
따라서, 상기한 종래의 기술은, 연속적으로 입력되는 고속의 동영상신호가 시간분할 기법에 의해 분주된 후 선입선출 메모리에 연속적으로 입력되더라도, 플래쉬 메모리의 메모리셀에 기록되기 위해서는 플래쉬 메모리의 내부 페이지 버퍼에 기록된 후 메모리셀로 이동하기까지 기다려야 한다. 이로 인해 종래의 플래쉬 메모리를 이용한 데이터 저장장치는, 특정 입력속도 이상의 대용량을 가지는 동영상신호를 처리할 수 없다는 문제점이 있었다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 안출된 것으로, 입력 채널별로 분리되어 있는 플래쉬 메모리부를 동시에 제어하고, 각 플래쉬 메모리부를 구성하는 다수의 플래쉬 메모리를 하나의 소자처럼 사용함으로써, 연속적으로 입력되는 동영상신호와 같은 대용량의 데이터신호를 보다 빠르게 처리하여 저장할 수 있는 플래쉬 메모리를 이용한 데이터 저장장치 및 방법을 제공하는 데 그 목적이 있다.
도 1은 종래 기술에 의한 플래쉬 메모리를 이용한 데이터 저장장치의 블록 구성도,
도 2는 본 발명의 한 실시예에 따른 플래쉬 메모리를 이용한 데이터 저장장치의 블록 구성도,
도 3은 도 2에 도시된 버퍼 메모리부의 상세 블록 구성도,
도 4는 도 2에 도시된 데이터 경로 선택 회로부의 상세 블록 구성도,
도 5는 도 4에 도시된 가상 플래쉬 메모리의 상세 구성도이다.
* 도면의 주요 부분에 대한 부호의 설명*
100 : 버퍼 메모리부 110 : 확장 버퍼 메모리부
130 : 버스 확장 클럭 발생부 200 : 데이터 경로선택 회로부
230 : 공통버스 300 : 플래쉬 메모리부
400 : 제어부 500 : 중앙처리장치
600 : 제어클럭 발생부
상기 목적을 달성하기 위한 본 발명에 따른 플래쉬 메모리를 이용한 데이터 저장장치는, 각각의 플래쉬 메모리소자로 인가되는 중앙처리장치의 억세스 명령과 기록 명령을 입력받아서, 다수의 채널을 통해 입력되는 데이터신호를 각 채널별로 할당된 플래쉬 메모리부에 저장하는 데이터 저장장치에 있어서, 임의의 한 채널로부터 입력되는 상기 데이터신호를 시스템버스의 버스크기로 크기 변환하는 각 채널별로 할당된 버퍼 메모리부와; 상기 버퍼 메모리부에서 출력되는 크기 변환된 데이터신호를 각 채널별로 할당된 플래쉬 메모리부로 전송하고, 상기 중앙처리장치의 억세스 명령과 기록 명령을 상기 플래쉬 메모리부 각각으로 동시에 전송하는 데이터 경로 선택 회로부; 상기 데이터 경로 선택 회로부를 통해 입력되는 상기 크기 변환된 데이터신호를 상기 채널에 할당된 다수의 플래쉬 메모리소자에 순차적으로 기록한 후 메모리셀로 이동시켜 저장하는 각 채널별로 할당된 상기 플래쉬 메모리부; 및 상기 각 채널별로 할당된 버퍼 메모리부, 데이터 경로 선택 회로부, 각 채널별로 할당된 플래쉬 메모리부와 공통버스를 통해 연결되어 제어신호를 인가하는 제어부를 포함한 것을 특징으로 한다.
또한, 본 발명에 따른 플래쉬 메모리를 이용한 데이터 저장방법은, 다수의 채널을 통해 입력되는 데이터신호를 각 채널별로 할당된 플래쉬 메모리부에 저장하는 데이터 저장방법에 있어서, 임의의 한 채널로부터 입력되는 데이터신호를 시스템버스의 버스크기로 바꾸는 제1단계와; 상기 크기 변환된 데이터신호를 상기 채널에 연결된 임의의 플래쉬 메모리소자의 내부 페이지 버퍼에 기록한 후, 기록 명령을 인가하여 상기 페이지 버퍼에 기록된 데이터가 메모리셀로 이동하여 저장되도록 하는 제2단계; 상기 제2단계에서 상기 임의의 플래쉬 메모리소자의 메모리셀로 데이터가 이동하는 동안에, 다른 플래쉬 메모리소자의 내부 페이지 버퍼에 데이터를 기록한 후, 기록 명령을 인가하여 상기 페이지 버퍼에 기록된 데이터가 메모리셀로 이동하여 저장되도록 하는 제3단계; 상기 제2단계 내지 제3단계를 반복 수행하여, 상기 채널로부터 입력되는 데이터신호를 상기 다수의 플래쉬 메모리소자에 연속적으로 저장하는 제4단계; 및 각 채널에 대하여 상기 제1단계 내지 제4단계를 동시에 수행하여, 모든 채널을 통해 입력되는 데이터를 동시에 저장하는 제5단계를 포함한 것을 특징으로 한다.
이하, 도면을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다.
본 발명의 한 실시예에 따른 플래쉬 메모리를 이용한 데이터 저장장치는 도 2에 도시된 바와 같이, 각 채널별로 할당된 버퍼 메모리부(100)와, 데이터 경로 선택 회로부(200), 각 채널별로 할당된 플래쉬 메모리부(300), 그리고 제어부(400)를 포함한다. 본 발명의 실시예에서는 n개의 채널을 통해 입력되는 데이터신호를 각 채널별로 할당된 플래쉬 메모리부에 저장한다고 가정한다.
각 채널별로 할당된 버퍼 메모리부(100)는 각 채널별로 데이터신호와 클럭을 입력받고, 그 출력단은 데이터 경로 선택 회로부(200)의 입력단에 연결된다. 데이터 경로선택 회로부(200)의 출력단은 플래쉬 메모리부(300)의 입력단에 연결된다. 제어부(400)는 공통버스(230)를 통해 각 채널별로 할당된 버퍼 메모리부(100), 데이터 경로선택 회로부(200), 및 각 채널별로 할당된 플래쉬 메모리부(300)와 각각 연결되며, 각 채널을 통해 입력되는 데이터신호가 상기 각 채널별로 할당된 플래쉬 메모리부(300)에 동시에 기록되도록 제어신호를 출력한다. 그러나, 상기한 플래쉬 메모리부(300)에 저장된 데이터를 판독할 때에는 각각의 플래쉬 메모리부에 저장된 데이터가 따로따로 출력되도록 제어신호를 출력한다.
상기 버퍼 메모리부(100)는 도 3에 도시된 바와 같이, 확장 버퍼 메모리부(110)와 버스 확장 클럭 발생부(130)로 구성된다. 본 발명의 실시예에서는, 각 채널로부터 입력되는 데이터신호의 크기는 8비트이고, 시스템버스의 버스크기는 16비트라고 가정한다. 이때, 확장 버퍼 메모리부(110)는 각 채널별로 할당된 상위 8비트 버퍼와 하위 8비트 버퍼로 구성되는데, 각 채널별로 입력되는 데이터신호는 상위 8비트 버퍼와 하위 8비트 버퍼에 순차적으로 저장된 후 데이터 경로 선택 회로부(200)로 16비트의 데이터를 출력한다.
상기 데이터 경로 선택 회로부(200)는 도 4에 도시된 바와 같이 버스 드라이버부(210)와 버스 트랜시버부(220)로 구성된다. 이 버스 드라이버부(210)는 병렬구조로 형성된 n개의 버스 드라이버(Bus Driver)로 이루어지고, 그 입력단은 버퍼 메모리부(100)의 출력단과 연결되며, 출력단은 플래쉬 메모리부(300)의 입력단과 연결된다.
버스 트랜시버부(220)는 병렬구조로 형성된 n개의 버스 트랜시버(Bus Transceiver)로 이루어지며, 이는 플래쉬 메모리부(300)와 중앙처리장치(500) 사이에 공통버스(230)로 연결된다. 상기 플래쉬 메모리부(300)는 각 채널별로 할당된 k개의 가상 플래쉬 메모리들로 구성된다. 각 가상 플래쉬 메모리는 도 5에 도시된 바와 같이 m개의 플래쉬 메모리소자로 구성되는데, m개의 플래쉬 메모리소자가 하나의 소자처럼 동작한다. 중앙처리장치(500)는 하나의 가상 플래쉬 메모리를 하나의 소자처럼 동작시키기 위하여 칼럼번지와 페이지번지와 함께 m개의 소자번지가 포함된 번지정보를 각각의 가상 플래쉬 메모리로 출력한다.
이러한 구성을 갖는 플래쉬 메모리를 이용한 데이터 저장장치의 동작을 살펴보면 다음과 같다.
본 발명은 두 가지 특징이 있다. 첫째, n개의 채널을 통해 각각 입력되는 데이터신호를 동시에 제어하여 각 채널별로 할당된 플래쉬 메모리부(300)로 저장하기 때문에 하나의 중앙처리장치(500)로 제어할 수 있는 데이터 처리량이 n배로 증가한다. 둘째, 각 채널별로 k개의 가상 플래쉬 메모리가 할당되며, 각 가상 플래쉬 메모리는 m개의 플래쉬 메모리소자로 이루어지지만 하나의 소자처럼 동작한다.
먼저, n개의 채널을 통해 각각 입력되는 데이터신호를 동시에 제어하는 과정을 살펴본다.
임의의 한 채널(예를 들어, 제1채널)을 통해 8비트 데이터신호가 확장 버퍼 메모리부(110)로 입력되면, 이 확장 버퍼 메모리부(110)는 이 데이터신호를 16비트 데이터신호로 크기 변환하여 출력한다. 즉, 버스 확장 클럭 발생부(130)가 데이터 클럭에 따라 채널1에 할당된 상위 8비트 버퍼와 하위 8비트 버퍼에 순차적으로 기록클럭(write clock)을 출력하면, 기록클럭이 입력되는 8비트 버퍼가 동작하여 채널1을 통해 입력되는 2개의 8비트 데이터신호가 상위 8비트 버퍼와 하위 8비트 버퍼에 순차적으로 기록된다. 그 후, 제어부(500)가 확장 버퍼 메모리부(110)로 판독클럭(read clock)을 출력하면 상위 8비트 버퍼와 하위 8비트 버퍼에 각각 저장된 데이터신호가 동시에 출력되어 16비트로 크기 변환된 데이터신호가 데이터 경로 선택 회로부(200)로 입력된다.
이와 같이, 채널1을 통해 입력되는 데이터신호가 크기 변환되어 데이터 경로 선택 회로부(200)로 입력되는 동안에, 채널2 내지 채널n을 통해 입력되는 데이터신호는 각각 각 채널에 할당된 상위 8비트 버퍼와 하위 8비트 버퍼에 의해 16비트로 크기 변환되어 데이터 경로 선택 회로부(200)로 입력된다.
즉, 각 채널별로 입력되는 8비트 데이터신호는 2개의 8비트 버퍼에 의해 8비트 신호 2개가 합쳐져서 시스템버스의 크기인 16비트로 바뀌어 데이터 경로 선택 회로부(200)의 버스 드라이버(210)로 입력된다. 이때, 만약 시스템버스의 크기가 32비트라면 확장 버퍼 메모리부(110)는 각 채널별로 4개의 8비트 버퍼가 할당되도록 구성되어야 한다.
이와 같이 16비트로 크기 변환된 데이터신호는 n개 채널에 대응하는 각각의 버스 드라이버(210)로 인가된다. 이 버스 드라이버(210)는 데이터신호를 플래쉬 메모리부(300)에 전달하거나 전달하지 않게끔 온/오프 동작하며, 제어클럭 발생부(600)에서 출력되는 인에이블신호를 입력받아 스위치 '온'된다.
한편, 중앙처리장치(500)는 각 채널별로 할당된 각각의 플래쉬 메모리부(300)를 일괄적으로 제어하기 위하여 억세스 명령(access command)과 기록 명령(write command)을 공통버스(230)를 통하여 버스 트랜시버(220)에 출력하고, 이 명령신호는 다시 버스 트랜시버(220)를 통해 각 채널에 대응하는 각각의 플래쉬 메모리부에 동시에 입력된다. 즉, 중앙처리장치(500)는 각 채널별로 동시에 입력되는 데이터신호를 동시에 제어하여, 각 채널별로 할당된 플래쉬 메모리부(300)에 기록할 수 있게 된다.
이와 같이 중앙처리장치(500)에서 플래쉬 메모리부(300)로 명령신호가 전송되는 동안에, 버스 트랜시버(220)는 '온' 상태로 동작하여 명령신호가 플래쉬 메모리부(300)로 전달되도록 한다. 한편, 버퍼 메모리부(100)에서 크기 변환된 데이터신호가 버스 드라이버(210)를 통해 플래쉬 메모리부(300)로 전송되는 동안에는, 버스 트랜시버(220)는 '오프' 상태로 동작하여 플래쉬 메모리부(300)로 전송되어야 하는 데이터신호가 공통버스(230) 쪽으로 흐르지 못하도록 한다.
제어클럭발생부(600)는 버퍼 메모리부(100)로 판독제어클럭을 출력함과 동시에 플래쉬 메모리부(300)로 기록제어클럭을 출력한다. 이와 동시에, 제어클럭발생부(600)는 버스 드라이버(210)에 온/오프 동작을 위한 인에이블신호와, 버스 트랜시버(220)에 스위칭 동작을 위한 인에이블신호를 각각 인가한다. 플래쉬 메모리부(300)에 저장될 데이터신호는 각각의 채널에 대응하는 버퍼 메모리부(100)를 통하여 중앙처리장치(500)를 거치지 않고 플래쉬 메모리부(300)의 각각의 플래쉬 메모리에 직접메모리접근(Direct Memory Access) 방식으로 직접 전송되어 저장된다.
이와 같은 동작에 의해 각 채널별로 입력되는 데이터신호들은 동시에 제어되어 각 채널별로 할당된 플래쉬 메모리부(300)에 동시에 기록된다.
다음, 중앙처리장치(500)가 각 채널별로 할당된 k개의 가상 플래쉬 메모리를 제어하여 데이터신호를 기록하고 저장하는 과정을 살펴본다.
먼저, 임의의 한 채널로부터 데이터신호가 입력되면, 버퍼 메모리부(100)는 이 데이터신호를 시스템버스의 버스크기로 변환한다. 이때, 본 발명의 실시예에서는 임의의 한 채널로부터 8비트의 데이터신호가 입력되고, 버퍼 메모리부(100)에서 16비트의 데이터신호로 변환된다고 가정하자.
중앙처리장치(500)는 m개의 플래쉬 메모리소자로 구성된 가상 플래쉬 메모리를 하나의 소자처럼 제어한다. 이를 상세하게 설명하면, 중앙처리장치(500)는 가상 플래쉬 메모리 중 첫 번째 플래쉬 메모리소자로 억세스 명령을 인가하고, 소자번지를 포함하는 번지정보를 인가하여 16비트로 변환된 데이터신호가 첫 번째 플래쉬 메모리소자의 페이지 버퍼에 기록되도록 한다. 첫 번째 플래쉬 메모리소자의 페이지 버퍼가 가득 차면, 중앙처리장치(500)는 첫 번째 플래쉬 메모리소자로 기록 명령을 인가하여 페이지 버퍼에 기록된 데이터가 첫 번째 플래쉬 메모리소자의 첫 번째 메모리셀로 이동되어 저장되도록 한다.
그 후, 첫 번째 플래쉬 메모리소자의 페이지 버퍼에 새로운 데이터를 기록하려면 페이지 버퍼에 기록된 데이터가 첫 번째 메모리셀로 이동할 때까지 대기하여야 한다. 그러나, 본 발명의 중앙처리장치(500)는 대기시간없이 두 번째 플래쉬 메모리소자로 억세스 명령을 인가하고, 번지정보를 제공하면서 다음 데이터신호가 두 번째 플래쉬 메모리소자의 페이지 버퍼에 기록되도록 한다. 두 번째 플래쉬 메모리소자의 페이지 버퍼가 가득 차면, 중앙처리장치(500)는 두 번째 플래쉬 메모리소자로 기록 명령을 인가하여 페이지 버퍼에 기록된 데이터가 첫 번째 메모리셀로 이동되어 저장되도록 한다.
그 다음, 중앙처리장치(500)는 상기와 같은 동작을 가상 플래쉬 메모리를 구성하는 m개의 플래쉬 메모리소자에 반복 수행하는데, m 번째 플래쉬 메모리소자에 상기와 같은 동작을 수행한 후 첫 번째 플래쉬 메모리소자의 내부 페이지 버퍼로 한 페이지 분량의 데이터를 다시 기록한다. 이때, 첫 번째 플래쉬 메모리소자의 페이지 버퍼에 이전에 기록되었던 데이터는 모두 메모리셀로 이동된 후이기 때문에, 중앙처리장치는 대기시간없이 첫 번째 플래쉬 메모리소자의 페이지 버퍼에 억세스 명령을 인가하여 페이지 버퍼에 데이터신호가 기록되도록 할 수 있다.
이와 같이 중앙처리장치는 가상 플래쉬 메모리를 구성하는 다수의 플래쉬 메모리소자를 이용하여, 대기시간없이 연속적으로 데이터를 기록할 수 있다. 즉, 임의의 한 플래쉬 메모리소자의 내부 페이지 버퍼로 데이터를 기록한 후 기록 명령을 인가하고, 페이지 버퍼에 기록된 데이터가 메모리셀로 이동하는 동안에 다른 플래쉬 메모리소자의 내부 페이지 버퍼에 새로운 데이터를 연속적으로 기록한다.
이와 같이, 가상 플래쉬 메모리에 데이터신호를 기록하기 위하여 제공되는 플래쉬 메모리의 번지정보는 컬럼번지, m개의 플래쉬 메모리소자번지, 그리고 페이지번지를 포함하고 있으며, 각 채널별로 할당된 가상 플래쉬 메모리를 하나의 플래쉬 메모리소자처럼 사용할 수 있다.
앞서 설명한 본 발명의 플래쉬 메모리를 이용한 데이터 저장장치는, 입력 채널별로 할당된 버퍼 메모리부와 플래쉬 메모리부를 모든 채널에 대하여 동시에 제어하기 때문에 대용량의 데이터신호를 보다 빠르게 처리할 수 있는 효과가 있다.
또한, 각 채널별로 할당된 다수의 플래쉬 메모리소자를 하나의 소자처럼 이용하기 때문에 연속적으로 입력되는 동영상신호 등의 대용량의 데이터신호를 쉽고 빠르게 저장할 수 있는 효과가 있다.

Claims (7)

  1. 각각의 플래쉬 메모리소자로 인가되는 중앙처리장치의 억세스 명령과 기록 명령을 입력받아서, 다수의 채널을 통해 입력되는 데이터신호를 각 채널별로 할당된 플래쉬 메모리부에 저장하는 데이터 저장장치에 있어서,
    임의의 한 채널로부터 입력되는 상기 데이터신호를 시스템버스의 버스크기로 크기 변환하는 각 채널별로 할당된 버퍼 메모리부와;
    상기 버퍼 메모리부에서 출력되는 크기 변환된 데이터신호를 각 채널별로 할당된 플래쉬 메모리부로 전송하고, 상기 중앙처리장치의 억세스 명령과 기록 명령을 상기 플래쉬 메모리부 각각으로 동시에 전송하는 데이터 경로 선택 회로부;
    상기 데이터 경로 선택 회로부를 통해 입력되는 상기 크기 변환된 데이터신호를 상기 채널에 할당된 다수의 플래쉬 메모리소자에 순차적으로 기록한 후 메모리셀로 이동시켜 저장하는 각 채널별로 할당된 상기 플래쉬 메모리부; 및
    상기 각 채널별로 할당된 버퍼 메모리부, 데이터 경로 선택 회로부, 각 채널별로 할당된 플래쉬 메모리부와 공통버스를 통해 연결되어 제어신호를 인가하는 제어부를 포함한 것을 특징으로 하는 플래쉬 메모리를 이용한 데이터 저장장치.
  2. 제 1 항에 있어서, 상기 각 채널별로 할당된 버퍼 메모리부는,
    임의의 한 채널로부터 입력되는 데이터신호를 순차적으로 임시 저장한 후 상기 시스템버스의 버스크기에 해당되는 크기의 데이터신호를 동시에 출력하는 다수의 버퍼로 이루어진 확장 버퍼 메모리부와,
    상기 데이터신호의 데이터 클럭에 따라 상기 확장 버퍼 메모리부를 구성하는 각각의 버퍼에 순차적으로 기록클럭을 인가하는 버스 확장 클럭 발생부를 포함한 것을 특징으로 하는 플래쉬 메모리를 이용한 데이터 저장장치.
  3. 제 1 항에 있어서, 상기 데이터 경로 선택 회로부는,
    상기 제어부에서 출력되는 제어신호에 따라 온/오프 동작하여 버퍼 메모리부에서 출력되는 크기 변환된 데이터신호를 상기 플래쉬 메모리부로 출력하는 각 채널별로 할당된 버스 드라이버와,
    상기 플래쉬 메모리부와 중앙처리장치 사이에 공통버스를 통해 연결되며, 상기 버스 드라이버에서 플래쉬 메모리부로 상기 크기 변환된 데이터신호가 전송되는 동안에는 '오프' 동작하고, 중앙처리장치에서 플래쉬 메모리부로 억세스 명령이나 기록 명령이 전송되는 동안에는 '온' 동작하는 각 채널별로 할당된 버스 트랜시버를 포함한 것을 특징으로 하는 플래쉬 메모리를 이용한 데이터 저장장치.
  4. 제1항에 있어서, 상기 버퍼 메모리부에 판독제어클럭을 출력함과 동시에 플래쉬 메모리부에 기록제어클럭을 출력하여, 버퍼 메모리부에서 출력되는 상기 크기 변환된 데이터신호가 직접접근(direct memory access)방식으로 상기 플래쉬 메모리부에 기록되도록 하는 제어클럭 발생부를 더 포함한 것을 특징으로 하는 플래쉬 메모리를 이용한 데이터 저장장치.
  5. 다수의 채널을 통해 입력되는 데이터신호를 각 채널별로 할당된 플래쉬 메모리부에 저장하는 데이터 저장방법에 있어서,
    임의의 한 채널로부터 입력되는 데이터신호를 시스템버스의 버스크기로 바꾸는 제1단계와;
    상기 크기 변환된 데이터신호를 상기 채널에 연결된 임의의 플래쉬 메모리소자의 내부 페이지 버퍼에 기록한 후, 기록 명령을 인가하여 상기 페이지 버퍼에 기록된 데이터가 메모리셀로 이동하여 저장되도록 하는 제2단계;
    상기 제2단계에서 상기 임의의 플래쉬 메모리소자의 메모리셀로 데이터가 이동하는 동안에, 다른 플래쉬 메모리소자의 내부 페이지 버퍼에 데이터를 기록한 후, 기록 명령을 인가하여 상기 페이지 버퍼에 기록된 데이터가 메모리셀로 이동하여 저장되도록 하는 제3단계;
    상기 제2단계 내지 제3단계를 반복 수행하여, 상기 채널로부터 입력되는 데이터신호를 상기 다수의 플래쉬 메모리소자에 연속적으로 저장하는 제4단계; 및
    각 채널에 대하여 상기 제1단계 내지 제4단계를 동시에 수행하여, 모든 채널을 통해 입력되는 데이터를 동시에 저장하는 제5단계를 포함한 것을 특징으로 하는 플래쉬 메모리를 이용한 데이터 저장방법.
  6. 제5항에 있어서, 상기 제2단계 내지 제3단계는, 상기 각 채널의 플래쉬 메모리부로 동일한 번지정보를 제공하고, 해당되는 번지의 플래쉬 메모리소자에 상기 크기 변환된 데이터신호를 기록하는 것을 특징으로 하는 플래쉬 메모리를 이용한 데이터 저장방법.
  7. 제6항에 있어서, 상기 번지정보는 플래쉬 메모리소자의 칼럼번지, 소자번지, 페이지 번지를 포함하는 것을 특징으로 하는 플래쉬 메모리를 이용한 데이터 저장방법.
KR1019980043787A 1998-10-20 1998-10-20 플래쉬 메모리를 이용한 데이터 저장장치 및 방법 KR100285967B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980043787A KR100285967B1 (ko) 1998-10-20 1998-10-20 플래쉬 메모리를 이용한 데이터 저장장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980043787A KR100285967B1 (ko) 1998-10-20 1998-10-20 플래쉬 메모리를 이용한 데이터 저장장치 및 방법

Publications (2)

Publication Number Publication Date
KR20000026300A true KR20000026300A (ko) 2000-05-15
KR100285967B1 KR100285967B1 (ko) 2001-04-16

Family

ID=19554587

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980043787A KR100285967B1 (ko) 1998-10-20 1998-10-20 플래쉬 메모리를 이용한 데이터 저장장치 및 방법

Country Status (1)

Country Link
KR (1) KR100285967B1 (ko)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020068658A (ko) * 2001-02-21 2002-08-28 신이균 다층 데이터버스의 제어방법
KR100359311B1 (ko) * 2000-10-20 2002-10-31 아이원더넷 주식회사 이미지데이터의 메모리 저장방법
KR100801179B1 (ko) * 2006-08-16 2008-02-05 (주) 라모스테크놀러지 불량 플래시 메모리를 재활용할 수 있는 플래시 메모리장치
US7467251B2 (en) 2004-12-17 2008-12-16 Samsung Electronics Co., Ltd. Flash memory data storage apparatus
KR100904758B1 (ko) * 2007-02-08 2009-06-29 삼성전자주식회사 버퍼 메모리를 포함하는 플래쉬 메모리 장치 및 시스템,플래쉬 메모리 장치의 데이터 업데이트 방법
WO2012050935A2 (en) * 2010-09-28 2012-04-19 Fusion-Io, Inc. Apparatus, system, and method for data transformations within a data storage device
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
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
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US9251058B2 (en) 2010-09-28 2016-02-02 SanDisk Technologies, Inc. Servicing non-block storage requests
US9305610B2 (en) 2009-09-09 2016-04-05 SanDisk Technologies, Inc. Apparatus, system, and method for power reduction management in a storage device
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
KR20200138911A (ko) * 2019-06-03 2020-12-11 주식회사 원세미콘 고속 낸드 메모리 시스템과 고속 낸드 메모리 패키지 디바이스
US11573909B2 (en) 2006-12-06 2023-02-07 Unification Technologies Llc Apparatus, system, and method for managing commands of solid-state storage using bank interleave

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030000017A (ko) * 2002-11-29 2003-01-03 (주) 라모스테크놀러지 플래시 메모리 제어 장치 및 플래시 메모리 제어 방법

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100359311B1 (ko) * 2000-10-20 2002-10-31 아이원더넷 주식회사 이미지데이터의 메모리 저장방법
KR20020068658A (ko) * 2001-02-21 2002-08-28 신이균 다층 데이터버스의 제어방법
US7467251B2 (en) 2004-12-17 2008-12-16 Samsung Electronics Co., Ltd. Flash memory data storage apparatus
KR100801179B1 (ko) * 2006-08-16 2008-02-05 (주) 라모스테크놀러지 불량 플래시 메모리를 재활용할 수 있는 플래시 메모리장치
US11960412B2 (en) 2006-12-06 2024-04-16 Unification Technologies Llc Systems and methods for identifying storage resources that are not in use
US11847066B2 (en) 2006-12-06 2023-12-19 Unification Technologies Llc Apparatus, system, and method for managing commands of solid-state storage using bank interleave
US11640359B2 (en) 2006-12-06 2023-05-02 Unification Technologies Llc Systems and methods for identifying storage resources that are not in use
US11573909B2 (en) 2006-12-06 2023-02-07 Unification Technologies Llc Apparatus, system, and method for managing commands of solid-state storage using bank interleave
KR100904758B1 (ko) * 2007-02-08 2009-06-29 삼성전자주식회사 버퍼 메모리를 포함하는 플래쉬 메모리 장치 및 시스템,플래쉬 메모리 장치의 데이터 업데이트 방법
US9305610B2 (en) 2009-09-09 2016-04-05 SanDisk Technologies, Inc. Apparatus, system, and method for power reduction management in a storage device
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase 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
US9251058B2 (en) 2010-09-28 2016-02-02 SanDisk Technologies, Inc. Servicing non-block storage requests
US9263102B2 (en) 2010-09-28 2016-02-16 SanDisk Technologies, Inc. Apparatus, system, and method for data transformations within a data storage device
WO2012050935A2 (en) * 2010-09-28 2012-04-19 Fusion-Io, Inc. Apparatus, system, and method for data transformations within a data storage device
WO2012050935A3 (en) * 2010-09-28 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for data transformations within a data storage device
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9772938B2 (en) 2010-12-13 2017-09-26 Sandisk Technologies Llc Auto-commit memory metadata and resetting the metadata by writing to special address in free space of page storing the metadata
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9767017B2 (en) 2010-12-13 2017-09-19 Sandisk Technologies Llc Memory device with volatile and non-volatile media
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
US10834224B2 (en) 2015-05-20 2020-11-10 Sandisk Technologies Llc Transaction log acceleration
KR20200138911A (ko) * 2019-06-03 2020-12-11 주식회사 원세미콘 고속 낸드 메모리 시스템과 고속 낸드 메모리 패키지 디바이스

Also Published As

Publication number Publication date
KR100285967B1 (ko) 2001-04-16

Similar Documents

Publication Publication Date Title
KR100285967B1 (ko) 플래쉬 메모리를 이용한 데이터 저장장치 및 방법
KR100272072B1 (ko) 동기형 다이나믹 램들을 활용한 고성능, 고대역폭 메모리 버스구조체
US8688877B1 (en) Multiport memory architecture
US5844855A (en) Method and apparatus for writing to memory components
US6684275B1 (en) Serial-to-parallel/parallel-to-serial conversion engine
US6920510B2 (en) Time sharing a single port memory among a plurality of ports
KR20000011296A (ko) 메모리버스시스템및이중모드메모리시스템
US5822776A (en) Multiplexed random access memory with time division multiplexing through a single read/write port
JP2947664B2 (ja) 画像専用半導体記憶装置
KR19990036982A (ko) 랜덤 액세스 메모리 장치, 랜덤 액세스 메모리 제어기, 랜덤 액세스 메모리의 동시 판독 및 기록 방법q
US7581072B2 (en) Method and device for data buffering
JPH02177190A (ja) メモリ装置
EP0365114A2 (en) Interface arrangement for interfacing a data storage device with a data handling system
KR20000035167A (ko) 메모리, 메모리 어드레스 전송 방법 및 메모리 인터페이스
KR950003970B1 (ko) 디지탈 전자교환기의 피시엠 데이타 접속장치
JPH0512883A (ja) シーケンシヤルメモリ
JPH04360425A (ja) 半導体記憶装置
EP0733259B1 (en) Improved field memory
JP3463571B2 (ja) データ発生装置
KR0181485B1 (ko) 데이터 통신용 데이터 버퍼링 장치
JPH05210981A (ja) 半導体記憶装置
JPS63156291A (ja) 画像メモリ
RU2081459C1 (ru) Запоминающее устройство магазинного типа
KR0120598B1 (ko) 메모리 보드의 설계방법 및 장치
JPS63217460A (ja) バツフア制御回路

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20061227

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee