KR101581311B1 - 플래시 메모리 장치 및 그 제어 방법 - Google Patents

플래시 메모리 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR101581311B1
KR101581311B1 KR1020090020584A KR20090020584A KR101581311B1 KR 101581311 B1 KR101581311 B1 KR 101581311B1 KR 1020090020584 A KR1020090020584 A KR 1020090020584A KR 20090020584 A KR20090020584 A KR 20090020584A KR 101581311 B1 KR101581311 B1 KR 101581311B1
Authority
KR
South Korea
Prior art keywords
flash memory
processor
unit
controlling
control
Prior art date
Application number
KR1020090020584A
Other languages
English (en)
Other versions
KR20100102283A (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 KR1020090020584A priority Critical patent/KR101581311B1/ko
Priority to US12/639,858 priority patent/US8621140B2/en
Publication of KR20100102283A publication Critical patent/KR20100102283A/ko
Application granted granted Critical
Publication of KR101581311B1 publication Critical patent/KR101581311B1/ko

Links

Images

Classifications

    • 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]
    • 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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling

Abstract

플래시 메모리 장치 및 그 제어 방법이 개시된다. 플래시 메모리 장치는 플래시 메모리에서 특정 동작(operation)이 수행되는 경우, 상기 동작에 할당된 프로세스를 해제(release)하고, 이를 다른 프로세스에 할당함으로써, 플래시 메모리의 동작 성능을 향상시킬 수 있다.
플래시 메모리, SSD, 프로세스, 인터럽트, 멀티 스레딩

Description

플래시 메모리 장치 및 그 제어 방법{FLASH MEMORY APPARATUS AND METHOD OF CONTROLLING THE SAME}
본 발명의 실시예들은 플래시 메모리 장치 및 그 제어 방법에 관한 것으로서, 더욱 상세하게는 플래시 메모리의 동작(operation) 성능을 향상시킬 수 있는 플래시 메모리 장치 및 그 제어 방법에 관한 것이다.
데이터를 저장하는 스토리지 장치로는 자기 디스크(magnetic disk), 반도체 메모리 등이 있을 수 있다. 스토리지 장치는 종류 별로 서로 다른 물리적 특성을 가지기 때문에 물리적 특성에 상응하는 관리 방법이 필요하다.
종래의 스토리지 장치로는 자기 디스크가 널리 사용되어 왔다. 자기 디스크는 평균적으로 킬로바이트(kilobyte) 당 수 밀리초(millisecond)의 읽기 및 쓰기 시간을 특성으로 가진다. 또한, 자기 디스크는 데이터가 저장된 물리적 위치에 따라 암(arm)이 도달하는 시간이 다르기 때문에 읽기 및 쓰기 시간이 달라지는 특성을 가진다.
최근에는 자기 디스크에 비하여 읽기 및 쓰기 시간이 짧고 작은 전력을 소모하며 작은 부피를 차지하는 비휘발성 메모리 장치가 급속하게 자기 디스크를 대 체하고 있다. 이는 비휘발성 메모리 장치의 대용량화가 이루어졌기 때문에 가능한 결과이다.
비휘발성 메모리 장치는 전기적으로 읽기(read), 쓰기(write) 및 소거(erase)가 가능하며, 공급 전원이 없는 상태에서도 저장된 데이터를 유지할 수 있는 반도체 메모리 장치이다. 비휘발성 메모리 장치에 대한 데이터의 저장 과정은 쓰기 외에도 프로그래밍(programming)이라고 불리기도 한다.
비휘발성 메모리 장치에 대한 프로그래밍은 페이지 단위로 수행될 수 있고 소거는 블록 단위로 수행될 수 있다. 블록은 복수의 페이지들을 포함할 수 있다. 비휘발성 메모리 장치의 컨트롤러는 외부의 호스트(host) 또는 프로세서(processor)에 논리 주소(logical address)를 제공하고, 비휘발성 메모리 장치에 대해서는 물리 주소(physical address)를 제공할 수 있다. 컨트롤러는 물리 주소를 이용하여 비휘발성 메모리 장치를 관리하고, 물리 주소를 논리 주소로 변환할 수 있다. 이처럼 물리 주소 및 논리 주소의 변환이 수행되는 계층을 플래시 변환 계층(Flash Translation Layer: FTL)라 하기도 한다.
최근에는 비휘발성 메모리 장치 중 하나인 플래시 메모리를 이용한 솔리드 스테이트 드라이브(Solid State Drive: SSD)라고 하는 대용량 스토리지 장치가 많은 관심을 받고 있다. SSD는 다수의 플래시 메모리 칩과 버스, 컨트롤러 및 호스트 시스템의 요청을 버퍼링하는 메모리로 구성되어 있다.
솔리드 스테이트 드라이브와 같은 플래시 메모리 장치에 있어서, 플래시 메모리에 읽기, 쓰기 등의 동작이 수행되는 경우, 컨트롤러(또는 CPU)는 플래시 메 모리에서 수행되는 동작이 종료될 때까지 상기 동작에 프로세스를 할당하여 최적의 성능이 발휘될 수 있도록 한다.
본 발명의 일실시예에 따른 플래시 메모리 장치는 플래시 메모리부, 및 상기 플래시 메모리부에서 수행되는 동작(operation)을 제어하는 프로세서를 포함하고, 상기 플래시 메모리부는 인터럽트 신호를 생성하고, 상기 프로세서는 상기 동작이 시작되는 경우 상기 동작의 제어를 중단하고, 상기 인터럽트 신호가 생성된 경우 상기 동작의 제어를 재개한다.
이 때, 상기 동작은 읽기, 쓰기, 지움, 및 복사 중에서 어느 하나일 수 있다.
또한, 상기 프로세서는 상기 동작을 제어하는 제어 신호를 생성하고, 상기 제어 신호를 상기 플래시 메모리부로 전송하고, 상기 플래시 메모리부는 상기 제어 신호에 대응하여 상기 동작을 시작할 수 있다.
또한, 상기 플래시 메모리부는 뱅크 단위의 플래시 메모리 칩 그룹 및 채널 단위의 플래시 메모리 칩 그룹 중에서 어느 하나일 수 있다.
또한, 본 발명의 일실시예에 따른 플래시 메모리 및 프로세서를 구비한 플래시 메모리 장치의 제어 방법은 상기 프로세서에서 상기 플래시 메모리에서 수행되는 동작을 제어하기 위해 프로세스를 할당하는 단계, 상기 플래시 메모리에서 상기 동작의 수행을 시작하는 단계, 상기 프로세서에서 상기 할당된 프로세스를 해제하는 단계, 상기 플래시 메모리에서 인터럽트 신호를 생성하는 단계, 및 상기 인터럽트 신호에 대응하여, 상기 프로세서에서 상기 동작을 제어하기 위하여 프로세스 를 재할당하는 단계를 포함한다.
본 발명의 일실시예에 따르면, 플래시 메모리 장치에 포함된 복수의 플래시 메모리에 대한 병렬적인 메모리 동작 수행이 가능하게 된다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 플래시 메모리 장치의 상세한 구성을 도시한 블록도이다.
본 발명의 일실시예에 따른 플래시 메모리 장치(100)는 인터페이스부(110), 프로세서(120), 및 플래시 메모리부(131 내지 133)를 포함한다. 이하, 각 구성 요소 별로 그 기능을 상술하기로 한다.
도 1에서는 플래시 메모리 장치(100)가 3개의 플래시 메모리부(131 내지 133)을 포함하는 것으로 서술하지만, 본 발명은 이에 한정되지 않는다. 이를 테면 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면, 플래시 메모리 장치(100)가 1개 내지 2개의 플래시 메모리부를 포함하거나, 4개 이상의 플래시 메모리부를 포함할 수 있음을 알 수 있다.
인터페이스부(110)는 외부 호스트(host)(미도시)와 플래시 메모리 장치(100)를 연결한다.
즉, 인터페이스부(110)는 소정의 프로토콜에 의해 외부 호스트(미도시)와 인터페이스를 행함으로써, 외부 호스트(미도시)로부터 신호 내지 데이터들을 수신한다.
프로세서(processor)(120)는 플래시 메모리부(131 내지 133)에서 수행되는 동작(operation)을 제어한다.
즉, 프로세서(120)는 플래시 메모리부(131 내지 133)에서 메모리 동작을 수행하는 경우, 상기 수행되는 메모리 동작에 대해 프로세스(process)를 할당하여, 메모리 동작을 제어하는 기능을 수행한다.
플래시 메모리부(131 내지 133)은 데이터를 저장하는 저장 수단을 의미하는 것으로서, 하나 이상의 플래시 메모리 칩으로 구성된다. 즉, 플래시 메모리부(131 내지 133)는 하나 이상의 플래시 메모리 칩으로 구성되는 그룹 단위의 플래시 메모리를 의미한다.
본 발명의 일실시예에 따르면, 플래시 메모리부(131 내지 133)는 뱅크(bank) 단위의 플래시 메모리 칩 그룹 및 채널(channel) 단위의 플래시 메모리 칩 그룹 중에서 어느 하나일 수 있다.
또한, 본 발명의 일실시예에 따르면, 플래시 메모리부(131 내지 133)에서 수행되는 동작은 읽기(read), 쓰기(write), 지움(erase), 및 복사(copyback) 중에서 적어도 하나일 수 있다.
또한, 본 발명의 일실시예에 따르면, 프로세서(120)는 메모리 동작을 제어하는 제어 신호를 생성하고, 생성된 제어 신호를 플래시 메모리부(131 내지 133)로 전송하고, 플래시 메모리부(131 내지 133)는 전송된 제어 신호에 대응하여 메모리 동작을 시작할 수 있다.
여기서, 본 발명의 일실시예에 따른 플래시 메모리 장치(100)는 인터럽트(interrupt) 신호 및 프로세스 할당/해제(allocation/release)를 통해 플래시 메모리 장치의 동작 성능을 최적화할 수 있다.
즉, 본 발명의 일실시예에 따르면, 3개의 플래시 메모리부(131 내지 133) 중에서 어느 하나의 플래시 메모리부에서 메모리 동작을 수행하고자 하는 경우, 프로세서(120)는 상기 메모리 동작에 대하여 프로세스를 할당하여 상기 메모리 동작을 제어하는데, 상기 하나의 플래시 메모리부에서 메모리 동작이 시작되면 프로세서(120)는 상기 메모리 동작에 할당된 프로세스를 해제한다. 이후, 프로세서(120)는 상기 하나의 메모리부에서 인터럽트 신호가 발생한 때에 상기 메모리 동작에 대해 프로세스를 재할당하여 상기 하나의 플래시 메모리부에 대한 동작 제어를 재개한다.
이 때, 메모리 동작에 대한 제어가 중단된 시점에서부터 메모리 동작에 대한 제어가 재개되는 시점까지의 기간 동안 프로세서(120)는 상기 메모리 동작을 제어하기 위해 프로세스를 할당하지 않으므로, 프로세서(120)는 상기 메모리 동작 제어 이외의 다른 작업을 위해 프로세스를 할당할 수 있게 되어 전체적인 메모리 동작의 효율을 증대시킬 수 있게 된다.
플래시 메모리부(131)에서 데이터 쓰기 동작을 수행하고자 하는 경우를 예로 들면, 먼저 프로세서(120)는 데이터 쓰기 동작에 프로세스를 할당하고, 데이터 쓰기 동작을 제어하기 위한 제어 신호를 생성하여 이를 플래시 메모리부(131)로 전송한다.
이 후, 플래시 메모리부(131)는 제어 신호에 대응하여 인터페이스부(110)를 통해 외부 호스트(미도시)로부터 데이터를 수신하여 이를 기록하는 동작(데이터 쓰기 동작)을 수행한다.
이 때, 플래시 메모리부(131)에서 데이터 쓰기 동작이 시작되면, 프로세서(120)는 상기 데이터 쓰기 동작에 할당된 프로세스를 해제하여 플래시 메모리부의 동작 제어를 중단한다. 상기 중단된 플래시 메모리부(131) 동작에 대한 프로세서(120)의 제어는 플래시 메모리부(131)에서 인터럽트 신호가 생성된 경우 재개된다.
따라서, 프로세서(120)는 동작 제어가 중단된 시점부터 재개되는 시점까지의 기간 동안, 다른 플래시 메모리부(132, 133)의 메모리 동작을 제어하기 위해 프로세스를 할당할 수 있게 되고, 이에 따라, 프로세서(120)는 다른 플래시 메모리부(132, 133)의 메모리 동작이 플래시 메모리부(131)의 메모리 동작과 동시에 수행될 수 있도록 플래시 메모리 장치(100)를 제어할 수 있게 되어, 복수의 플래시 메모리부의 메모리 동작에 대한 멀티 스레딩(Multi-Threading)이 가능하게 된다.
이하에서는 도 2를 참고하여, 본 발명의 일실시예에 따른 플래시 메모리 장치(100)의 동작을 상세히 설명하기로 한다.
도 2는 본 발명의 일실시예에 따라서 플래시 메모리 장치에서 병렬적으로 수행되는 메모리 동작을 설명하기 위한 도면이다.
도 2에서는 플래시 메모리 장치가 3개의 플래시 메모리부(제1 플래시 메모리부, 제2 플래시 메모리부, 제3 플래시 메모리부)를 포함하는 것으로 가정한다.
또한, 도면 부호(210) 및 도면 부호(240)는 제1 플래시 메모리부에서 수행되는 제1 동작을, 도면 부호(220) 및 도면 부호(250)는 제2 플래시 메모리부에서 수행되는 제2 동작을, 도면 부호(230) 및 도면 부호(260)는 제3 플래시 메모리부에서 수행되는 제3 동작을 의미한다.
그리고, s/w operation은 프로세서에서 제어 신호를 생성하여 플래시 메모리부로 전송하는 동작을, h/w operation은 플래시 메모리부의 메모리 동작(읽기/쓰기/지움/복사)을 의미한다.
도 2의 (a)에서는 멀티 스레딩 기법을 적용하지 아니한 플래시 메모리 장치의 동작을 도시하고 있다.
도 2의 (a)를 참고하면, 각각의 플래시 메모리부에서 수행되는 메모리 동작(s/w operation 및 h/w operation)(210 내지 230)은 서로 겹치지 않고 독립적으로 수행된다.
즉, 멀티 스레딩 기법을 적용하지 않고 플래시 메모리 장치에서 메모리 동작을 수행하는 경우, 하나의 플래시 메모리부에서 메모리 동작 수행이 완료될 때까지 다른 플래시 메모리에서는 메모리 동작이 수행되지 않는다. 이는 프로세서가 하나의 플래시 메모리부에서 수행되는 메모리 동작의 수행이 완료될 때까지 플래시 메모리부의 h/w operation 동작 상황을 확인하기 위해 상기 메모리 동작에 대하여 프로세스를 할당하기 때문이다.
이에 따라, 프로세서는 하나의 플래시 메모리 장치에서 메모리 동작을 완료할 때까지 대기 상태를 유지하고, 메모리 동작이 완료된 이후에 다른 플래시 메모리 장치에 대한 제어를 하게 되어 프로세서의 활용도가 상대적으로 낮아지게 된다.
도 2의 (b)는 멀티 스레딩 기법을 적용한 플래시 메모리 장치의 동작을 설명하기 위한 도면이다.
도 2의 (b)를 통해 알 수 있듯이, 각각의 플래시 메모리부에서 수행되는 메모리 동작(s/w operation 및 h/w operation)(240 내지 260)은 서로 겹쳐서 병렬적으로 수행될 수 있다.
즉, 멀티 스레딩 기법을 적용하여 플래시 메모리 장치에서 메모리 동작을 수행하는 경우, 프로세서는 하나의 플래시 메모리부에서 메모리 동작 수행이 완료될 때까지 프로세스 할당 상태를 유지하지 않으므로 다른 플래시 메모리에서도 메모리 동작이 수행될 수 있다. 이는 플래시 메모리부에서의 인터럽트 신호 생성 및 프로세서에서의 프로세스 할당/해제를 통해 가능하게 된다.
다시 말해, 프로세서가 제1 플래시 메모리부에 대하여 s/w operation 수행을 완료한 경우, 프로세서는 제1 플래시 메모리부의 제1 동작(240)의 제어에 할당된 프로세서를 해제하고 제2 플래시 메모리부의 제2 동작(250)의 제어에 프로세스를 할당함으로써, 제1 플래시 메모리부에서 h/w operation이 수행과 동시에 제2 동작(250)의 제어를 위한 s/w operation 수행이 가능하게 된다.
만약, 제1 플래시 메모리부에서 제어 신호를 필요로 하는 경우, 제1 플래시 메모리부는 인터럽트 신호를 생성하고, 인터럽트 신호를 수신한 프로세서는 제2 동 작(250)의 제어를 위한 프로세스를 잠시 중단하고, 제1 동작(240)의 제어를 위한 제어 신호를 생성한다. 이에 따라, 복수의 플래시 메모리부의 메모리 동작이 병렬적으로 수행될 수 있게 된다.
이와 같이, 3개의 플래시 메모리부를 포함하는 플래시 메모리 장치에 대해 멀티 스레딩 기법을 적용하는 경우, 멀티 스레딩 기법을 적용하지 않는 경우에 비해 프로세서의 활용도가 상대적으로 높아지게 되어 메모리 동작 수행 완료까지 소요되는 시간을 단축시킬 수 있게 된다. 도 2에 도시된 t는 단축된 소요 시간을 나타내고 있다.
이는 프로세서가 하나의 플래시 메모리부에서 수행되는 메모리 동작의 수행이 완료될 때까지 플래시 메모리부의 h/w operation 동작 상황을 확인하기 위해 상기 메모리 동작에 대하여 프로세스를 할당하기 때문이다.
이에 따라, 프로세서는 하나의 플래시 메모리 장치에서 메모리 동작을 완료할 때까지 대기 상태를 유지하고, 메모리 동작이 완료된 이후에 다른 플래시 메모리 장치에 대한 제어를 하게 되어 프로세서의 활용도가 상대적으로 낮아지게 된다.
도 3은 본 발명의 일실시예에 따른 플래시 메모리 장치의 제어 방법에 대한 흐름도를 도시한 도면이다.
상기 언급한 바와 같이, 플래시 메모리 장치는 프로세서 및 플래시 메모리를 포함한다.
먼저, 단계(S310)에서는 프로세서에서 플래시 메모리에서 수행되는 동작을 제어하기 위해 프로세스를 할당한다.
본 발명의 일실시예에 따르면, 플래시 메모리에서 수행되는 동작은 읽기, 쓰기, 지움, 및 복사 중에서 적어도 하나일 수 있다.
단계(S320)에서는 플래시 메모리에서 동작의 수행을 시작한다.
본 발명의 일실시예에 따르면, 단계(S310)는 플래시 메모리에서 수행되는 동작을 제어하기 위한 제어 신호를 생성하는 단계를 포함하고, 단계(S320)에서는 제어 신호에 대응하여 상기 동작의 수행을 시작할 수 있다.
단계(S330)에서는 프로세서에서 상기 할당된 프로세스를 해제한다. 즉, 단계(S320)에서, 플래시 메모리의 메모리 동작의 수행이 시작하는 경우, 단계(S330)에서는 상기 메모리 동작의 제어를 위해 할당된 프로세스를 해제한다.
단계(S340)에서는 플래시 메모리에서 인터럽트 신호를 생성한다.
인터럽트 신호는 플래시 메모리에서 프로세서의 제어 신호를 필요로 하는 경우 생성될 수 있다.
단계(S350)에서는 인터럽트 신호에 대응하여, 프로세서에서 상기 플래시 메모리의 메모리 동작을 제어하기 위해 프로세스를 재할당한다.
도 4는 본 발명의 다른 일실시예에 따른 플래시 메모리 장치의 제어 방법에 대한 흐름도를 도시한 도면이다.
도 4에서는 플래시 메모리 장치가 하나의 프로세서(410), 및 2개의 플래시 메모리(제1 플래시 메모리(420), 및 제2 플래시 메모리(430))를 포함하는 것으로 가정한다.
먼저, 단계(S4401)에서는 프로세서(410)에서, 제1 플래시 메모리의 제1 동 작을 제어하기 위하여 프로세서를 할당한다.
단계(S4402)에서는 프로세서(410)에서, 제1 동작을 제어하기 위한 제1A 신호를 생성한다.
생성된 제1A 제어 신호는 단계(S4403)에서 제1 플래시 메모리(420)로 전송된다.
제1A 제어 신호를 전송받은 제1 플래시 메모리(420)는 단계(S4404)에서 제1 동작의 수행을 시작한다.
제1 동작의 수행이 시작된 경우 프로세서(410)는 단계(S4405)에서 제1 동작 제어를 위해 할당된 프로세스를 해제하고, 단계(S4406)에서 제2 플래시 메모리(430)의 제2 동작을 제어하기 위하여 프로세스를 할당하고, 단계(S4407)에서 제2 동작을 제어하기 위한 제2A 제어 신호를 생성하고, 단계(S4408)에서 생성된 제2A 제어 신호를 제2 플래시 메모리(430)로 전송한다.
제2A 제어 신호를 전송받은 제2 플래시 메모리(430)는 단계(S4409)에서 제2 동작의 수행을 시작한다.
제2 동작의 수행이 시작된 경우 프로세서(410)는 단계(S4410)에서 제2 동작 제어를 위해 할당된 프로세스를 해제한다.
이 후, 제1 플래시 메모리(420)가, 단계(S4411)에서 인터럽트 신호를 생성하여 단계(S4412)에서 프로세서로 인터럽트 신호를 전송하는 경우, 프로세서(410)는 단계(S4413)에서 제1 동작 제어를 위해 프로세스를 재할당하고, 단계(S4414)에서 제1 동작을 제어하기 위한 제1B 신호를 생성하고, 단계(S4415)에서 생성된 제1B 제어 신호를 제1 플래시 메모리(420)로 전송한다.
이에 따라, 2개의 플래시 메모리에 대한 병렬적인 메모리 동작 수행이 가능하게 된다.
지금까지 본 발명에 따른 플래시 메모리 장치의 제어 방법의 실시예들에 대하여 설명하였고, 앞서 도 1에서 설명한 플래시 메모리 장치에 관한 구성이 본 실시예에도 그대로 적용 가능하다. 이에, 보다 상세한 설명은 생략하기로 한다.
또한, 본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 일실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
도 1은 본 발명의 일실시예에 따른 플래시 메모리 장치의 상세한 구성을 도시한 블록도이다.
도 2는 본 발명의 일실시예에 따라서 플래시 메모리 장치에서 병렬적으로 수행되는 메모리 동작을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 플래시 메모리 장치의 제어 방법에 대한 흐름도를 도시한 도면이다.
도 4는 본 발명의 다른 일실시예에 따른 플래시 메모리 장치의 제어 방법에 대한 흐름도를 도시한 도면이다.

Claims (8)

  1. 뱅크 단위의 플래시 메모리 칩 그룹 및 채널 단위의 플래시 메모리 칩 그룹 중에서 어느 하나를 포함하는 플래시 메모리부; 및
    상기 플래시 메모리부에서 수행되는 동작(operation)을 제어하는 프로세서;
    를 포함하고,
    상기 플래시 메모리부는 인터럽트 신호를 생성하고,
    상기 프로세서는 상기 동작이 시작되는 경우 상기 동작의 제어를 중단하고, 상기 인터럽트 신호가 생성된 경우 상기 동작의 제어를 재개하며,
    상기 프로세서는 상기 뱅크 단위의 플래시 메모리 칩 그룹 및 상기 채널 단위의 플래시 메모리 칩 그룹 중에서 어느 하나의 플래시 메모리 칩 그룹에서 수행되는 메모리 동작을 서로 겹쳐서 병렬적으로 수행되도록 제어하는 플래시 메모리 장치.
  2. 제1항에 있어서,
    상기 동작은 읽기, 쓰기, 지움, 및 복사 중에서 어느 하나인 플래시 메모리 장치.
  3. 제1항에 있어서,
    상기 프로세서는 상기 동작을 제어하는 제어 신호를 생성하고, 상기 제어 신호를 상기 플래시 메모리부로 전송하고,
    상기 플래시 메모리부는 상기 제어 신호에 대응하여 상기 동작을 시작하는 플래시 메모리 장치.
  4. 삭제
  5. 플래시 메모리 및 프로세서를 구비한 플래시 메모리 장치를 제어하는 방법에 있어서,
    상기 프로세서에서 상기 플래시 메모리에서 수행되는 동작을 제어하기 위해 프로세스를 할당하는 단계;
    상기 플래시 메모리에서 상기 동작의 수행을 시작하는 단계;
    상기 프로세서에서 상기 할당된 프로세스를 해제하는 단계;
    상기 플래시 메모리에서 인터럽트 신호를 생성하는 단계; 및
    상기 인터럽트 신호에 대응하여, 상기 프로세서에서 상기 동작을 제어하기 위하여 프로세스를 재할당하는 단계
    를 포함하고,
    상기 플래시 메모리는,
    뱅크 단위의 플래시 메모리 칩 그룹 및 채널 단위의 플래시 메모리 칩 그룹 중에서 어느 하나를 포함하며, 상기 프로세서는 상기 뱅크 단위의 플래시 메모리 칩 그룹 및 상기 채널 단위의 플래시 메모리 칩 그룹 중에서 어느 하나의 플래시 메모리 칩 그룹에서 수행되는 메모리 동작을 서로 겹쳐서 병렬적으로 수행되도록 제어하는 플래시 메모리 장치의 제어 방법.
  6. 제5항에 있어서,
    상기 동작은 읽기, 쓰기, 지움, 및 복사 중에서 어느 하나인 플래시 메모리 장치의 제어 방법.
  7. 제5항에 있어서,
    상기 프로세스를 할당하는 단계는
    상기 동작의 제어를 위한 제어 신호를 생성하는 단계
    를 포함하고,
    상기 동작의 수행을 시작하는 단계는 상기 제어 신호에 대응하여 상기 동작의 수행을 시작하는 플래시 메모리 장치의 제어 방법.
  8. 제5항 내지 제7항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020090020584A 2009-03-11 2009-03-11 플래시 메모리 장치 및 그 제어 방법 KR101581311B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090020584A KR101581311B1 (ko) 2009-03-11 2009-03-11 플래시 메모리 장치 및 그 제어 방법
US12/639,858 US8621140B2 (en) 2009-03-11 2009-12-16 Flash memory apparatus for controlling operation in response to generation of interrupt signal and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090020584A KR101581311B1 (ko) 2009-03-11 2009-03-11 플래시 메모리 장치 및 그 제어 방법

Publications (2)

Publication Number Publication Date
KR20100102283A KR20100102283A (ko) 2010-09-24
KR101581311B1 true KR101581311B1 (ko) 2015-12-31

Family

ID=42731609

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090020584A KR101581311B1 (ko) 2009-03-11 2009-03-11 플래시 메모리 장치 및 그 제어 방법

Country Status (2)

Country Link
US (1) US8621140B2 (ko)
KR (1) KR101581311B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792989B2 (en) * 2013-02-07 2017-10-17 Toshiba Memory Corporation Memory system including nonvolatile memory
KR102339779B1 (ko) 2015-04-06 2021-12-15 삼성전자주식회사 데이터 저장 장치, 이를 포함하는 데이터 처리 시스템, 및 상기 시스템의 작동 방법
KR102491068B1 (ko) 2017-11-17 2023-01-19 에스케이하이닉스 주식회사 메모리 장치에 대한 태스크들을 스케줄링하는 반도체 장치 및 이를 포함하는 시스템
US11636173B2 (en) 2019-03-28 2023-04-25 SK Hynix Inc. Method for candidate selection and accelerator for performing candidate selection
KR20200115102A (ko) 2019-03-28 2020-10-07 에스케이하이닉스 주식회사 유사도에 따라 후보 선택을 가속하는 방법 및 후보 선택을 수행하는 가속기
CN112989440B (zh) * 2021-04-21 2021-09-14 北京芯愿景软件技术股份有限公司 芯片、处理器驱动方法及电子设备
KR102623649B1 (ko) * 2021-12-17 2024-01-11 주식회사 현대케피코 공급 전원 이상 진단 장치 및 이를 이용한 진단 정보 유효성 판단 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956743A (en) 1997-08-25 1999-09-21 Bit Microsystems, Inc. Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations
US20030093612A1 (en) 2001-11-15 2003-05-15 Mitsubishi Denki Kabushiki Kaisha Microcomputer

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428579A (en) * 1992-03-31 1995-06-27 Intel Corporation Flash memory card with power control register and jumpers
US7363474B2 (en) * 2001-12-31 2008-04-22 Intel Corporation Method and apparatus for suspending execution of a thread until a specified memory access occurs
US7707586B2 (en) * 2004-09-08 2010-04-27 Intel Corporation Operating system independent agent
US8639515B2 (en) * 2005-11-10 2014-01-28 International Business Machines Corporation Extending voice-based markup using a plug-in framework
KR20070057337A (ko) 2005-12-01 2007-06-07 삼성전자주식회사 버퍼를 구비하는 솔리드 스테이트 디스크
KR100817087B1 (ko) 2007-02-13 2008-03-27 삼성전자주식회사 플래시 메모리를 구비하는 스토리지 장치에서의 버퍼 캐시운용 방법
KR20070070148A (ko) 2007-06-25 2007-07-03 주식회사 태진인포텍 고속 인터페이스를 이용한 메모리 디스크 장치 및 그제어방법
US8775717B2 (en) * 2007-12-27 2014-07-08 Sandisk Enterprise Ip Llc Storage controller for flash memory including a crossbar switch connecting a plurality of processors with a plurality of internal memories
KR101382563B1 (ko) * 2008-02-14 2014-04-07 삼성전자주식회사 레디/비지 제어회로를 구비하는 플래쉬 메모리장치 및 이를테스트하는 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956743A (en) 1997-08-25 1999-09-21 Bit Microsystems, Inc. Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations
US20030093612A1 (en) 2001-11-15 2003-05-15 Mitsubishi Denki Kabushiki Kaisha Microcomputer

Also Published As

Publication number Publication date
KR20100102283A (ko) 2010-09-24
US20100235566A1 (en) 2010-09-16
US8621140B2 (en) 2013-12-31

Similar Documents

Publication Publication Date Title
KR101581311B1 (ko) 플래시 메모리 장치 및 그 제어 방법
JP6250613B2 (ja) 装置における電源管理のためのリソース割当及び解除
US9304691B2 (en) Memory system and bank interleaving method
US8171239B2 (en) Storage management method and system using the same
KR100610647B1 (ko) 직접실행제어 기능과 스토리지 기능이 복합된 대용량저장장치
KR101993704B1 (ko) 플래시 메모리를 기반으로 하는 저장 장치 및 플래시 메모리를 제어하는 메모리 컨트롤러의 쓰기 메모리 블록 할당 방법
US20160062885A1 (en) Garbage collection method for nonvolatile memory device
JP4881856B2 (ja) 記憶装置
KR20190004400A (ko) 메모리 컨트롤러의 동작 방법 및 사용자 장치의 동작 방법
US8819350B2 (en) Memory system
CN109521950B (zh) 存储设备、其操作方法及包括存储设备的存储系统
KR102526608B1 (ko) 전자 장치 및 그것의 동작 방법
US11385831B2 (en) Memory controller and storage device including the same
JP2012221038A (ja) メモリシステム
US20130080693A1 (en) Hybrid memory device, computer system including the same, and method of reading and writing data in the hybrid memory device
JP2012216234A (ja) フラッシュメモリの優先順位付き消去のためのデバイスおよび方法
CN111108488B (zh) 内存块回收方法和装置
US20120144094A1 (en) Data storage apparatus and method for controlling flash memory
JP5378197B2 (ja) メモリコントローラ、メモリカード、不揮発性メモリシステム
KR20160036693A (ko) 저장 장치 및 그것의 커맨드 스케줄링 방법
JP2010211618A (ja) 半導体記憶装置
KR20190130831A (ko) 컨트롤러 및 이를 포함하는 메모리 시스템
JP2009175877A (ja) 半導体メモリ
JP2007310680A (ja) 不揮発性記憶装置およびそのデータ転送方法
WO2007049850A1 (en) A mass storage device having both xip function and storage function

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
FPAY Annual fee payment

Payment date: 20181119

Year of fee payment: 4