KR20090053164A - 상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법 - Google Patents

상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법 Download PDF

Info

Publication number
KR20090053164A
KR20090053164A KR1020070119853A KR20070119853A KR20090053164A KR 20090053164 A KR20090053164 A KR 20090053164A KR 1020070119853 A KR1020070119853 A KR 1020070119853A KR 20070119853 A KR20070119853 A KR 20070119853A KR 20090053164 A KR20090053164 A KR 20090053164A
Authority
KR
South Korea
Prior art keywords
flash memory
state information
access request
state
unit
Prior art date
Application number
KR1020070119853A
Other languages
English (en)
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 KR1020070119853A priority Critical patent/KR20090053164A/ko
Publication of KR20090053164A publication Critical patent/KR20090053164A/ko

Links

Images

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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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
    • 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/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Abstract

메모리 제어 장치 및 방법이 제공된다. 본 발명의 메모리 제어 장치는 복수의 플래시 메모리 유닛들 및 하나 이상의 호스트로부터 커맨드를 수신하고, 수신된 커맨드에 따라 상기 복수의 플래시 메모리 유닛들 각각을 제어하는 인터페이스부를 포함하고, 상기 인터페이스부는 상기 하나 이상의 호스트로부터 상기 복수의 플래시 메모리 유닛들에 대한 접근이 없는 동안 상기 복수의 플래시 메모리 유닛들 각각의 상태 정보를 읽어 저장하는 것을 특징으로 하며, 이를 통해 하드웨어의 복잡도를 줄일 수 있다.
상태 정보, 플래시 메모리, 인터페이스

Description

상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법 {FLASH MEMORY CONTROL APPARATUS AND METHOD MANAGING STATUS INFORMATION}
본 발명은 플래시 메모리를 인터페이스하는 장치 및 플래시 메모리 사이의 인터페이스 방법에 관한 것으로, 특히, 복수의 플래시 메모리들을 인터페이스하는 플래시 메모리 인터페이스와 이를 이용하는 방법에 관한 것이다. 본 연구는 정보통신부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행하였음. [2006-S-040-01, Flash Memory 기반 임베디드 멀티미디어 소프트웨어 기술 개발]
플래시 메모리는 전원이 공급되지 않아도 저장된 데이터가 유지되는 비휘발성 메모리로서, 칩 전체 혹은 일부를 전기적으로 지우고 다시 쓸 수 있는 기능을 제공한다.
플래시 메모리는 데이터 저장의 기본 단위(basic unit)인 셀(cell)의 물리적인 구조에 따라 NAND, NOR와 같이 다양한 타입이 있으며, 이 중 NAND 플래시 메모리는 고집적 및 대용량이 가능하므로 기존의 하드 디스크를 대체할 소자로서 메모리 시장에서 급격히 주목을 받고 있다. 현재 NAND 플래시 메모리는 휴대폰, 디지 털 카메라, MP3 플레이어, 캠코더, PDA 등 휴대형 전자기기의 저장매체로 널리 이용되고 있다.
NAND 플래시 메모리는 SRAM(Static Random Access Memory)이나 ROM(Read Only Memory)과 같은 이전의 메모리와 다른 물리적인 특성을 가지므로, NAND 플래시 메모리를 제어하기 위해서는 NAND 플래시 메모리에 최적화된 제어 장치 및 방법이 필요하다.
NAND 플래시 메모리는 복수의 플래시 메모리 유닛들 및 인터페이스부로 구성되는 것이 일반적이며, 인터페이스부는 외부의 호스트로부터 커맨드를 수신하고, 수신된 커맨드에 따라 플래시 메모리 유닛들 각각을 제어하는 구성을 가진다.
외부의 호스트의 예로는, 프로세서(processor), 직접 메모리 접근(Direct Memory Access, DMA) 엔진(engine) 등이 있을 수 있다.
인터페이스부는 복수의 제어 신호 선들을 경유하여 플래시 메모리 유닛들과 연결된다.
복수의 제어 신호 선들은 플래시 메모리 유닛들 각각의 식별에 관련되는 신호 선들을 포함할 수도 있고, 읽기/쓰기(write) 명령의 전달에 관련되는 신호 선들을 포함할 수도 있다.
최근 대용량의 데이터를 저장하기 위한 플래시 메모리에 대한 수요가 증가하여, SSD(Solid State Disk) 등 대용량 플래시 메모리 디바이스가 개발되고 있다. 대용량 플래시 메모리 디바이스들은 하나의 인터페이스부 및 복수의 플래시 메모리 유닛들을 포함하며, 플래시 메모리 유닛들의 수는 증가하는 경향을 띤다.
하나의 인터페이스부가 제어하는 플래시 메모리 유닛들의 수가 증가함에 따라, 복수의 제어 신호 선들의 연결은 하드웨어의 복잡도를 증가시키고 있는 문제점이 있다.
본 명세서에서는, 하드웨어의 복잡도를 감소시키면서도 복수의 플래시 메모리를 효율적으로 제어할 수 있는 플래시 메모리 제어 장치 및 방법이 제안된다.
본 발명은 상술한 바와 같은 종래기술의 문제점을 해결하기 위해 안출된 것으로서, 복수의 플래시 메모리를 제어하는 인터페이스 장치에 있어서, 하드웨어의 복잡도를 감소시키는 구성을 제공하는 것을 목적으로 한다.
또한, 본 발명은 제어되는 플래시 메모리들의 개수가 증가하더라도 제어 신호 선의 수의 증가를 최소화하는 인터페이스를 제공하는 것을 목적으로 한다.
상기와 같은 본 발명의 목적을 달성하기 위하여, 본 발명의 일 측면에 따른 메모리 제어 장치는 복수의 플래시 메모리 유닛들, 및 하나 이상의 호스트로부터 커맨드를 수신하고, 수신된 커맨드에 따라 상기 복수의 플래시 메모리 유닛들 각각을 제어하는 인터페이스부를 포함하고, 상기 인터페이스부는 상기 하나 이상의 호스트로부터 상기 복수의 플래시 메모리 유닛들에 대한 접근이 없는 동안 상기 복수의 플래시 메모리 유닛들 각각의 상태 정보를 읽어 저장하는 것을 특징으로 한다.
또한 본 발명의 다른 측면에 따른, 하나 이상의 호스트로부터 커맨드를 수신하고, 수신된 커맨드에 따라 복수의 플래시 메모리 유닛들 각각을 제어하는 메모리 제어 방법은 상기 하나 이상의 호스트로부터 상기 복수의 플래시 메모리 유닛들에 대한 접근이 없는 동안 상기 복수의 플래시 메모리 유닛들 각각의 상태 정보를 읽어 저장하는 단계, 상기 하나 이상의 호스트로부터 상기 복수의 플래시 메모리 유닛들 중 제1 플래시 메모리 유닛에 대한 제1 접근 요청을 수신하는 단계, 상기 수 신된 제1 플래시 메모리 유닛에 대한 접근 요청의 종류 및 상기 저장된 제1 플래시 메모리 유닛의 제1 상태 정보에 기초하여 상기 접근 요청을 처리하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 복수의 플래시 메모리를 제어하는 인터페이스 장치에 있어서, 하드웨어의 복잡도를 감소시킬 수 있다.
또한, 본 발명에 따르면 제어되는 플래시 메모리들의 개수가 증가하더라도 제어 신호 선의 수의 증가를 최소화하는 인터페이스의 구현이 가능하다.
이하에서, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
일반적인 플래시 메모리의 인터페이스를 위해 이용되는 제어 신호들은 CE(Chip Enable), CLE(Command Latch Enable), ALE(Address Latch Enable), RE(Read Enable), WE(Write Enable), RnB(Ready and Busy) 등이 있을 수 있고, 데이터, 커맨드 또는 주소의 전송은 8비트 또는 16비트로 이루어지는 입출력 버스를 경유하여 수행된다.
하나의 인터페이스부가 복수의 플래시 메모리 유닛들을 제어하는 경우에, CE는 플래시 메모리 유닛들 각각에 하나씩 부여되며, 플래시 메모리 유닛들 각각이 활성화되었음을 나타낸다.
일반적으로, CLE, ALE, RE, WE는 복수의 플래시 메모리 유닛들에 공통으로 인가되며, CE 신호와 결합되어 플래시 메모리 유닛들 각각의 동작을 나타낸다.
인터페이스부가 CE 각각, CLE, ALE, RE, WE 신호에 "1" 또는 "0"의 논리 값을 부여함으로써, 인터페이스부는 복수의 플래시 메모리 유닛들 각각의 동작을 제어할 수 있다.
플래시 메모리 유닛들 각각은 RnB 신호에 "1" 또는 "0"의 논리 값을 부여함으로써, 플래시 메모리 유닛들 각각의 현재 상태를 나타낼 수 있다. 인터페이스부는 RnB 신호들 각각의 논리 값을 읽음으로써 플래시 메모리 유닛들 각각의 현재 상태를 인식할 수 있다.
인터페이스부에 의하여 선택된 플래시 메모리 유닛의 현재 상태가 준비(ready) 상태일 때, 선택된 플래시 메모리 유닛이 읽기(read), 쓰기(write), 지우기(erase) 등의 커맨드를 수행할 수 있다.
리셋(reset) 커맨드 또는 상태 읽기(status read) 커맨드는, 선택된 플래시 메모리 유닛의 현재 상태에 관계 없이 - 현재 상태가 점유(busy) 상태일 때에도 - 수행될 수 있다.
인터페이스부가 플래시 메모리 유닛들 각각의 현재 상태를 인식하는 방법은, RnB 신호 선을 이용하는 기법(scheme) 외에도 상태 읽기(status read) 커맨드를 이용하는 기법이 있을 수 있다.
RnB 신호 선을 이용하는 기법은, 플래시 메모리 유닛들 각각이 현재 상태를 RnB 신호 선을 경유하여 인터페이스부로 전송하기 때문에, 인터페이스부는 부가적 인 동작 없이 플래시 메모리 유닛들 각각의 현재 상태를 인식할 수 있다. 다만, 플래시 메모리 유닛들 각각의 RnB 신호가 별개의 신호 선으로 인터페이스부에 연결되어야 하기 때문에 하드웨어의 복잡도가 증가한다. 특히, 최근의 경향과 같이 다수의 플래시 메모리 유닛들 각각을 하나의 인터페이스부가 제어하는 구조에서는, RnB 신호 선을 이용하는 기법은 하드웨어의 복잡도를 매우 증가시킬 수 있다.
상태 읽기(status read) 커맨드를 이용하는 기법은, RnB 신호 선을 이용하는 기법의 핀 오버헤드(pin overhead)는 없으나, 상태 읽기(status read) 커맨드를 수행하고, 그 결과를 인터페이스부가 수신하는 데에 상대적으로 긴 시간이 소요될 수 있다. 인터페이스부는 쓰기(write), 읽기(read), 지우기(erase) 커맨드를 수행하기 전에 선택된 플래시 메모리 유닛의 현재 상태를 알기 위해 상태 읽기(status read) 커맨드를 수행해야 하므로, 상태 읽기(status read) 커맨드 수행에 소요되는 시간은 플래시 메모리 디바이스 전체의 성능을 저하시킬 수 있다.
본 발명의 일 실시예에 따른 메모리 제어 장치 및 방법은 휴지 시간(idle time)을 이용하여 플래시 메모리 유닛들 각각의 상태 읽기(status read) 명령을 수행하여, 플래시 메모리 유닛들 각각의 현재 상태를 알 수 있다. 또한, 메모리 제어 장치 및 방법은 플래시 메모리 유닛들 각각의 현재 상태에 관련된 정보를 하나 이상의 상위 호스트에 전송하기 위해 하트비트 메시지 형태의 메시지를 이용할 수 있다.
메모리 제어 장치 및 방법은 플래시 메모리 디바이스 전체의 성능을 저하시키지 않으면서도 플래시 메모리 디바이스 전체의 하드웨어 복잡도를 줄일 수 있다.
도 1은 본 발명의 일 실시예에 따른 메모리 제어 장치를 도시하는 도면이다.
도 1을 참조하면, 메모리 제어 장치는 인터페이스부(110) 및 N개의 플래시 메모리 유닛들을 포함한다.
인터페이스부(110)는 M개의 호스트들로부터 커맨드를 수신하고, 수신된 커맨드에 따라 N개의 플래시 메모리 유닛들 각각을 제어한다.
예를 들어, 호스트 1(121)로부터 읽기(read) 커맨드를 수신하면, 인터페이스부(110)는 읽기(read) 커맨드에 대응하는 논리적 주소를 물리적 주소로 변환하고, 변환된 물리적 주소가 가리키는 플래시 메모리 유닛을 선택한다.
만일 선택된 플래시 메모리 유닛이 플래시 메모리 유닛 N(133)이라면, 인터페이스부(110)는 수신된 읽기(read) 커맨드 및 변환된 물리적 주소에 따라 플래시 메모리 유닛 N(133)을 제어한다.
마찬가지로, 호스트 2(122) 또는 호스트 M(123)로부터 읽기(read) 또는 쓰기(write) 또는 지우기(erase) 커맨드를 수신하면, 인터페이스부(110)는 수신된 커맨드에 대응하는 논리적 주소를 물리적 주소로 변환하고, 변환된 물리적 주소가 가리키는 플래시 메모리 유닛을 선택한다.
선택된 플래시 메모리 유닛이 플래시 메모리 유닛 1(131) 또는 플래시 메모리 유닛 2(132)이라면, 인터페이스부(110)는 수신된 커맨드 및 변환된 물리적 주소에 따라 선택된 플래시 메모리 유닛을 제어한다.
인터페이스부(110)는 M개의 호스트들로부터 N개의 플래시 메모리 유닛들에 대한 접근이 없는 동안, N개의 플래시 메모리 유닛들 각각의 상태 정보를 읽어 저 장한다.
인터페이스부(110)는 휴지 시간(idle time) 동안 상태 읽기(status read) 커맨드를 수행하여 플래시 메모리 유닛들 각각의 상태 정보를 읽고, 읽은 상태 정보를 저장한다.
인터페이스부(110)는 저장된 상태 정보를 일정 시간 간격으로 호스트들로 전송할 수 있다. 이 때, 인터페이스부(110)는 저장된 상태 정보를 메시지 큐(message queue) 또는 공유 메모리(shared memory) 기법과 같은 공지된 기법에 의하여 전송할 수 있다.
인터페이스부(110)는 상태 읽기 커맨드에 의해 얻은 상태 정보를 하트비트 메시지 형태로 호스트들로 전송할 수 있다.
이 때, 상태 정보는 플래시 메모리 유닛의 번호, 준비 상태인지 점유 상태인지, 최근의 커맨드의 오류 발생 여부, 발생했다면 오류의 종류, 오류의 개수, 최근의 접근 요청(access request)의 번호 등을 포함할 수 있다.
인터페이스부(110)는 M개의 호스트들 중 하나 이상으로부터 N개의 플래시 메모리 유닛들 중 어느 하나에 대한 접근 요청(access request)을 수신하면, 저장된 상태 정보 및 접근 요청의 종류에 기초하여 수신된 접근 요청을 처리한다.
인터페이스부(110)는 수신된 접근 요청에 대응하는 논리적 주소를 물리적 주소로 변환하고, 변환된 물리적 주소에 대응하는 플래시 메모리 유닛을 제1 플래시 메모리 유닛으로 선택한다.
인터페이스부(110)는 수신된 접근 요청이 제1 플래시 메모리 유닛의 현재 상 태에 관계 없이 수행될 수 있는 종류의 커맨드인지 판정한다. 예를 들어, 리셋(reset) 커맨드 또는 상태 읽기(status read) 커맨드는 제1 플래시 메모리 유닛의 현재 상태에 관계 없이 수행될 수 있는 종류의 커맨드이다.
인터페이스부(110)는 수신된 접근 요청이 상태 읽기(status read) 커맨드이면, 저장된 상태 정보 중에서 제1 플래시 메모리 유닛의 상태 정보를 제1 상태 정보로 선택하고, 선택된 제1 상태 정보를 수신된 접근 요청에 대응하는 호스트로 전송한다.
실시예에 따라서는, 수신된 접근 요청이 상태 읽기 커맨드이면, 인터페이스부(110)는 제1 플래시 메모리 유닛으로 상태 읽기 커맨드를 전송하고, 새롭게 수신된 제1 플래시 메모리 유닛의 현재 상태 정보를 호스트로 전송하고, 이전에 저장된 제1 상태 정보를 현재 상태 정보로 업데이트할 수 있다.
인터페이스부(110)는 수신된 접근 요청이 읽기(read), 쓰기(write) 또는 지우기(erase) 커맨드이면, 선택된 제1 상태 정보가 준비(ready) 상태인지 점유(busy) 상태인지 판정한다.
인터페이스부(110)는 수신된 접근 요청이 읽기(read), 쓰기(write) 또는 지우기(erase) 커맨드이고, 선택된 제1 상태 정보가 준비 상태이면, 제1 플래시 메모리 유닛으로 읽기(read), 쓰기(write) 또는 지우기(erase) 커맨드를 전송한다. 이 때, 인터페이스부(110)는 제1 플래시 메모리 유닛으로 변환된 물리적 주소를 함께 전송한다. 쓰기(write) 커맨드가 전송되는 경우에는, 인터페이스부(110)는 쓰기 데이터(write data)를 제1 플래시 메모리 유닛으로 함께 전송한다.
인터페이스부(110)는 제1 플래시 메모리 유닛으로 읽기(read), 쓰기(write) 또는 지우기(erase) 커맨드가 전송되는 경우에, 저장된 제1 상태 정보를 준비 상태로부터 점유 상태로 업데이트하여 저장한다. 인터페이스부(110)는 업데이트하여 저장된 제1 상태 정보를 수신된 접근 요청에 대응하는 호스트로 전송한다.
읽기(read), 쓰기(write) 또는 지우기(erase) 커맨드는 제1 플래시 메모리 유닛의 현재 상태를 준비 상태로부터 점유 상태로 변화시키는 커맨드이기 때문에, 인터페이스부(110)는 상태 읽기 커맨드에 의하지 않더라도 제1 상태 정보가 변화되리라는 것을 예측할 수 있다.
인터페이스부(110)는 수신된 접근 요청이 읽기(read), 쓰기(write) 또는 지우기(erase) 커맨드이고, 선택된 제1 상태 정보가 점유(busy) 상태이면, 제1 플래시 메모리 유닛으로 상태 읽기 커맨드를 전송하여 제1 플래시 메모리 유닛의 현재 상태를 다시 읽는다.
인터페이스부(110)는 수신된 제1 플래시 메모리 유닛의 현재 상태가 준비 상태일 때까지, 일정한 시간 간격을 두고 제1 플래시 메모리 유닛의 현재 상태를 반복하여 읽는다.
실시예에 따라서는, 인터페이스부(110)는 제1 플래시 메모리 유닛의 현재 상태가 점유 상태일 동안 제2 플래시 메모리 유닛에 대한 접근 요청을 처리할 수도 있다.
인터페이스부(110)는, 신속한 처리를 필요로 하는 접근 요청의 경우에는 우선 순위를 부여하여 다른 접근 요청에 우선하여 처리할 수 있다. 인터페이스 부(110)의 접근 요청에 대한 스케줄링 과정에는, 실시예에 따라 다양한 알고리즘이 이용될 수 있다.
도 2는 본 발명의 일 실시예에 따른 메모리 제어 방법을 도시하는 동작 흐름도이다.
도 2를 참조하면, 메모리 제어 방법은 호스트로부터 명령이 도착했는지 여부를 검출한다(S210).
메모리 제어 방법은 호스트로부터 명령이 도착한 경우, 수신된 명령에 기초하여 지정된 메모리 유닛의 RnB 검사가 필요한지 판정한다(S220).
메모리 제어 방법은 RnB 검사가 필요하다고 판정되면, 저장된 RnB 값이 준비 상태를 나타내는지 판정한다(S230).
메모리 제어 방법은 저장된 RnB 값이 준비 상태를 나타내면, 지정된 메모리 유닛에 대한 명령을 처리한다(S240).
메모리 제어 방법은 단계(S240)를 수행한 후, 단계(S210)를 다시 수행한다.
메모리 제어 방법은 단계(S220)를 수행한 후, RnB 검사가 필요하지 않다고 판정되면, 단계(S240)를 수행한다.
메모리 제어 방법은 단계(S230)를 수행한 후, 저장된 RnB 값이 준비 상태에 대응하지 않다고 판정되면, 지정된 메모리 유닛의 상태 정보를 읽는다(S250).
메모리 제어 방법은 단계(S250)를 수행한 후, 단계(S230)를 다시 수행한다.
메모리 제어 방법은 단계(S210)를 수행한 후, 호스트로부터 명령이 도착하지 않았으면, 상태 정보 읽기를 수행할 메모리 유닛을 선택한다(S260).
메모리 제어 방법은 선택된 메모리 유닛의 상태 정보를 읽는다(S270).
메모리 제어 방법은 단계(S270)를 수행한 후, 단계(S210)를 다시 수행한다.
도 3은 단계(S240)의 다른 예를 상세히 도시하는 동작 흐름도이다.
도 3을 참조하면, 메모리 제어 방법은 지정된 유닛에 대한 명령이 지정된 유닛의 상태를 변화시키는지 판정한다(S310).
메모리 제어 방법은 단계(S310)를 수행한 후, 지정된 유닛의 상태가 변화된다고 판정되면, 상태 정보를 업데이트한다(S320).
메모리 제어 방법은 업데이트된 상태 정보를 저장한다(S330).
메모리 제어 방법은 업데이트된 상태 정보를 호스트로 전송한다(S340).
메모리 제어 방법은 지정된 메모리 유닛에 대한 명령을 처리한다(S350).
메모리 제어 방법은 단계(S310)를 수행한 후, 지정된 유닛의 상태가 변화되지 않는다고 판정되면, 단계(S350)를 수행한다.
메모리 제어 방법은 단계(S350)를 수행한 후, 단계(S210)를 다시 수행한다.
도 4는 단계(S270)의 다른 예를 상세히 도시하는 동작 흐름도이다.
도 4를 참조하면, 메모리 제어 방법은 지정된 메모리 유닛의 상태 정보를 읽는다(S410).
메모리 제어 방법은 새롭게 읽은 상태 정보 및 이전에 저장된 상태 정보를 비교한다(S420).
메모리 제어 방법은 단계(S420)를 수행한 후, 새롭게 읽은 상태 정보가 이전에 저장된 상태 정보와 다르면, 이전에 저장된 상태 정보를 새롭게 읽은 상태 정보 로 업데이트한다(S430).
메모리 제어 방법은 업데이트된 상태 정보를 호스트로 전송한다(S440).
메모리 제어 방법은 단계(S440)를 수행한 후, 단계(S210)를 다시 수행한다.
메모리 제어 방법은 단계(S410)를 수행한 후, 새롭게 읽은 상태 정보가 이전에 저장된 상태 정보와 동일하면, 단계(S210)를 다시 수행한다.
본 발명에 따른 메모리 제어 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일 실시예에 따른 메모리 제어 장치를 도시하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 메모리 제어 방법을 도시하는 동작 흐름도이다.
도 3은 단계(S240)의 다른 예를 상세히 도시하는 동작 흐름도이다.
도 4는 단계(S270)의 다른 예를 상세히 도시하는 동작 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
110: 인터페이스부
121: 호스트 1
122: 호스트 2
123: 호스트 M
131: 플래시 메모리 유닛 1
132: 플래시 메모리 유닛 2
133: 플래시 메모리 유닛 N

Claims (12)

  1. 복수의 플래시 메모리 유닛들; 및
    하나 이상의 호스트로부터 커맨드를 수신하고, 수신된 커맨드에 따라 상기 복수의 플래시 메모리 유닛들 각각을 제어하는 인터페이스부
    를 포함하고,
    상기 인터페이스부는 상기 하나 이상의 호스트로부터 상기 복수의 플래시 메모리 유닛들에 대한 접근이 없는 동안 상기 복수의 플래시 메모리 유닛들 각각의 상태 정보를 읽어 저장하는 것을 특징으로 하는 메모리 제어 장치.
  2. 제1항에 있어서,
    상기 인터페이스부는
    상기 하나 이상의 호스트로부터 상기 복수의 플래시 메모리 유닛들 중 제1 플래시 메모리 유닛에 대한 접근 요청을 수신하면, 상기 저장된 상기 제1 플래시 메모리 유닛의 제1 상태 정보 및 상기 접근 요청의 종류에 기초하여 상기 접근 요청을 처리하는 것을 특징으로 하는 메모리 제어 장치.
  3. 제2항에 있어서,
    상기 인터페이스부는
    상기 접근 요청이 상기 제1 상태 정보 읽기이면, 상기 저장된 상기 제1 상태 정보를 상기 하나 이상의 호스트로 전송하는 것을 특징으로 하는 메모리 제어 장치.
  4. 제2항에 있어서,
    상기 인터페이스부는
    상기 접근 요청이 상기 제1 플래시 메모리 유닛이 준비 상태일 때 처리 가능한 종류이고, 상기 저장된 제1 상태 정보가 점유 상태를 나타내는 경우에, 상기 제1 플래시 메모리 유닛으로부터 상기 제1 상태 정보를 다시 읽는 것을 특징으로 하는 메모리 제어 장치.
  5. 제2항에 있어서,
    상기 인터페이스부는
    상기 접근 요청에 의해 상기 제1 플래시 메모리 유닛이 준비 상태로부터 점유 상태로 변화되는 경우에, 상기 저장된 제1 상태 정보를 점유 상태로 업데이트하여 저장하고, 상기 업데이트된 제1 상태 정보를 상기 하나 이상의 호스트로 전송하는 것을 특징으로 하는 메모리 제어 장치.
  6. 하나 이상의 호스트로부터 커맨드를 수신하고, 수신된 커맨드에 따라 복수의 플래시 메모리 유닛들 각각을 제어하는 메모리 제어 방법에 있어서,
    상기 하나 이상의 호스트로부터 상기 복수의 플래시 메모리 유닛들에 대한 접근이 없는 동안 상기 복수의 플래시 메모리 유닛들 각각의 상태 정보를 읽어 저장하는 단계;
    상기 하나 이상의 호스트로부터 상기 복수의 플래시 메모리 유닛들 중 제1 플래시 메모리 유닛에 대한 제1 접근 요청을 수신하는 단계;
    상기 수신된 제1 접근 요청의 종류 및 상기 저장된 제1 플래시 메모리 유닛의 제1 상태 정보에 기초하여 상기 접근 요청을 처리하는 단계
    를 포함하는 것을 특징으로 하는 메모리 제어 방법.
  7. 제6항에 있어서,
    상기 접근 요청의 종류 및 상기 제1 상태 정보에 기초하여 상기 제1 접근 요청을 처리하는 단계는
    상기 제1 접근 요청이 상기 제1 플래시 메모리 유닛의 상태에 관계없이 수행 가능한 종류인지 판정하는 단계
    를 포함하는 것을 특징으로 하는 메모리 제어 방법.
  8. 제6항에 있어서,
    상기 제1 접근 요청의 종류 및 상기 제1 상태 정보에 기초하여 상기 제1 접근 요청을 처리하는 단계는
    상기 제1 접근 요청이 상기 제1 상태 정보 읽기이면, 상기 저장된 상기 제1 상태 정보를 상기 하나 이상의 호스트로 전송하는 것을 특징으로 하는 메모리 제어 방법.
  9. 제7항에 있어서,
    상기 제1 접근 요청의 종류 및 상기 제1 상태 정보에 기초하여 상기 제1 접근 요청을 처리하는 단계는
    상기 제1 접근 요청이 상기 제1 플래시 메모리 유닛이 준비 상태일 때 처리 가능한 종류이고, 상기 저장된 제1 상태 정보가 점유 상태인 경우에, 상기 제1 플래시 메모리 유닛으로부터 상기 제1 상태 정보를 다시 읽는 단계
    를 더 포함하는 것을 특징으로 하는 메모리 제어 방법.
  10. 제6항에 있어서,
    상기 제1 접근 요청의 종류 및 상기 제1 상태 정보에 기초하여 상기 제1 접근 요청을 처리하는 단계는
    상기 제1 접근 요청에 의해 상기 제1 플래시 메모리 유닛이 준비 상태로부터 점유 상태로 변화되는 경우에, 상기 저장된 제1 상태 정보를 점유 상태로 업데이트하여 저장하는 단계; 및
    상기 업데이트된 제1 상태 정보를 상기 하나 이상의 호스트로 전송하는 단계
    를 포함하는 것을 특징으로 하는 메모리 제어 방법.
  11. 제6항에 있어서,
    상기 제1 상태 정보를 하트비트 메시지 형태로 상기 하나 이상의 호스트로 전송하는 단계
    를 더 포함하는 것을 특징으로 하는 메모리 제어 방법.
  12. 제6항 내지 제11항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR1020070119853A 2007-11-22 2007-11-22 상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법 KR20090053164A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070119853A KR20090053164A (ko) 2007-11-22 2007-11-22 상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070119853A KR20090053164A (ko) 2007-11-22 2007-11-22 상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20090053164A true KR20090053164A (ko) 2009-05-27

Family

ID=40860712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070119853A KR20090053164A (ko) 2007-11-22 2007-11-22 상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20090053164A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160100170A (ko) * 2015-02-12 2016-08-23 에스케이하이닉스 주식회사 반도체 장치에 대한 상태 읽기를 수행하는 반도체 시스템 및 그것의 동작 방법
KR20210008923A (ko) * 2018-06-18 2021-01-25 마이크론 테크놀로지, 인크. 메모리 디바이스에서의 적응적 와치독
US11281512B2 (en) 2018-11-01 2022-03-22 SK Hynix Inc. Storage device providing device-to-host information to host and operating method thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160100170A (ko) * 2015-02-12 2016-08-23 에스케이하이닉스 주식회사 반도체 장치에 대한 상태 읽기를 수행하는 반도체 시스템 및 그것의 동작 방법
KR20210008923A (ko) * 2018-06-18 2021-01-25 마이크론 테크놀로지, 인크. 메모리 디바이스에서의 적응적 와치독
US11537327B2 (en) 2018-06-18 2022-12-27 Micron Technology, Inc. Adaptive watchdog in a memory device
US11281512B2 (en) 2018-11-01 2022-03-22 SK Hynix Inc. Storage device providing device-to-host information to host and operating method thereof

Similar Documents

Publication Publication Date Title
US8392649B2 (en) Memory storage device, controller, and method for responding to host write commands triggering data movement
US8812784B2 (en) Command executing method, memory controller and memory storage apparatus
US9933975B1 (en) Data transmission method, memory storage device and memory control circuit unit
US8171239B2 (en) Storage management method and system using the same
US20070214309A1 (en) Nonvolatile storage device and data writing method thereof
US9146691B2 (en) Method for managing commands in command queue, memory control circuit unit and memory storage apparatus
US10649692B2 (en) Storage device, system including the same and method of operating the same
US11182105B2 (en) Storage devices, storage systems including storage devices, and methods of accessing storage devices
US11132143B2 (en) Universal flash storage (UFS) device and computing device and computing device including storage UFS device for reporting buffer size based on reuse time after erase
CN102203717A (zh) 固态驱动器优化器
US20150253992A1 (en) Memory system and control method
US20100241792A1 (en) Storage device and method of managing a buffer memory of the storage device
US20190332540A1 (en) Storage management method, electronic device and computer readable medium
US10782919B2 (en) Command processing method and storage controller using the same
JP5329689B2 (ja) メモリコントローラ、不揮発性記憶装置
CN109471819B (zh) 为来自主机的读取请求提供短的读取响应时间的存储设备
US11768634B2 (en) Memory system and information processing system
US11340806B2 (en) Meta data processing during startup of storage devices
CN108932209B (zh) 存储器装置及其操作方法
US20160364148A1 (en) Buffer memory accessing method, memory controller and memory storage device
KR20090053164A (ko) 상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법
US20120303879A1 (en) Memory Device and Method for Programming Flash Memory Utilizing Spare Blocks
CN115576863A (zh) 一种数据读写方法、存储设备及存储介质
CN110874333A (zh) 存储设备及存储方法
CN112148203B (zh) 存储器管理方法、装置、电子设备及存储介质

Legal Events

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