KR101366960B1 - 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법 - Google Patents

입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법 Download PDF

Info

Publication number
KR101366960B1
KR101366960B1 KR1020120091358A KR20120091358A KR101366960B1 KR 101366960 B1 KR101366960 B1 KR 101366960B1 KR 1020120091358 A KR1020120091358 A KR 1020120091358A KR 20120091358 A KR20120091358 A KR 20120091358A KR 101366960 B1 KR101366960 B1 KR 101366960B1
Authority
KR
South Korea
Prior art keywords
nand flash
nand
flashes
state
determining
Prior art date
Application number
KR1020120091358A
Other languages
English (en)
Other versions
KR20130073804A (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 US14/366,496 priority Critical patent/US20150006794A1/en
Priority to PCT/KR2012/010696 priority patent/WO2013094913A1/ko
Publication of KR20130073804A publication Critical patent/KR20130073804A/ko
Application granted granted Critical
Publication of KR101366960B1 publication Critical patent/KR101366960B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • 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
    • 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
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법이 개시된다. 다중 웨이 낸드 플래시 제어 장치는 낸드 플래시의 내부 동작이 정상적으로 수행되었는지를 체크하는 리드 스테이터스(Read status) 명령어를 이용하여 복수개의 낸드 플래시 각각의 상태를 확인하는 낸드 플래시 모니터 및 상기 확인된 각 낸드 플래시의 상태를 기초로 상기 낸드 플래시 각각이 입출력 버스(Input Output bus)를 점유할 순서를 결정하는 스케줄러를 포함할 수 있다.

Description

입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법{MULTI WAY NAND FLASH CONTROLLER AND METHOD USING INPUT/OUTPUT PINS}
본 발명의 실시예들은 입출력 핀을 이용하여 다중 웨이 낸드 플래시를 제어하는 장치 및 방법에 관한 것이다.
낸드 플래시(NAND flash)는 플래시 메모리의 한 형태로서 전원이 없는 상태에서도 데이터를 계속 저장할 수 있으며, 데이터를 자유롭게 저장/삭제할 수 있다. 일반적으로 낸드 플래시는 노어 플래시(NOR flash)에 비해 읽기 속도는 느리지만, 쓰기, 지우기 속도가 빠르고 대용량이 가능하다는 장점으로 인해, MP3, 핸드폰, 디지털카메라, 휴대용 저장 장치, 컴퓨터 등의 전자 제품에 데이터 저장용으로 폭넓게 사용되고 있다.
이러한 낸드 플래시를 제어하는 컨트롤러는 일반적으로 낸드 플래시의 R/B(Ready/Busy) 핀을 이용하여 낸드 플래시의 상태를 확인한다. 그러나, 반도체, 메모리 기술이 발전함에 따라 하나의 저장 장치에 포함되는 낸드 플래시의 숫자 또한 늘어나면서, 다중 웨이 낸드 플래시를 제어하기 위하여 여러개의 낸드 플래시를 하나로 묶고, 하나의 R/B 핀을 이용해 여러개의 낸드 플래시를 관리하는 방법이 사용되고 있다. 그러나, 이러한 방법은 여러 개의 낸드 플래시를 하나로 묶어 관리하기 때문에, 각 낸드 플래시의 상태는 체크 할 수 없다는 문제점이 있었다.
복수개의 낸드 플래시를 관리하는 컨트롤러의 핀 개수를 줄이고도 모든 낸드 플래시의 상태를 체크할 수 있는 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법이 제공된다.
낸드 플래시 컨트롤러의 핀 개수를 줄이고도 속도 저하를 최소화할 수 있는 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법이 제공된다.
낸드 플래시 제어 장치는 낸드 플래시의 내부 동작이 정상적으로 수행되었는지를 체크하는 리드 스테이터스(Read status) 명령어를 이용하여 복수개의 낸드 플래시 각각의 상태를 확인하는 낸드 플래시 모니터 및 상기 확인된 각 낸드 플래시의 상태를 기초로 상기 낸드 플래시 각각이 입출력 버스(Input Output bus)를 점유할 순서를 결정하는 스케줄러를 포함할 수 있다.
일측에 따르면, 상기 낸드 플래시 모니터는 기 생성된 타임 테이블을 기초로 폴링(polling) 방식으로 상기 낸드 플래시 각각의 상태를 확인할 시간을 결정할 수 있다.
다른 측면에 따르면, 상기 타임 테이블은 상기 낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간에 대한 정보 및 상기 명령어에 대한 각 낸드 플래시의 내부 동작 시간에 대한 정보를 기초로 생성될 수 있다.
또 다른 측면에 따르면, 상기 낸드 플래시 모니터는 상기 리드 스테이터스 명령어를 이용하여 상기 내부 동작의 완료 여부를 확인할 수 있다.
또 다른 측면에 따르면, 상기 낸드 플래시 모니터는 R/B(Ready/Busy) 핀 대신 상기 리드 스테이터스 명령어를 이용하여 상기 복수개의 낸드 플래시 각각의 상태를 확인할 수 있다.
또 다른 측면에 따르면, 상기 스케줄러는 인터리빙(interleaving) 방식으로 상기 각각의 낸드 플래시가 상기 입출력 버스를 점유할 순서를 결정할 수 있다.
다중 웨이 낸드 플래시 제어 방법은 낸드 플래시 제어 장치가 상기 낸드 플래시의 내부 동작이 정상적으로 수행되었는지를 체크하는 리드 스테이터스(Read status) 명령어를 이용하여 복수개의 낸드 플래시 각각의 상태를 확인하는 단계 및 상기 확인된 각 낸드 플래시의 상태를 기초로 상기 낸드 플래시 각각이 입출력 버스(Input Output bus)를 점유할 순서를 결정하는 단계를 포함할 수 있다.
낸드 플래시 메모리 장치는 복수개의 낸드 플래시, 상기 낸드 플래시가 수행할 동작에 대한 명령어 및 상기 명령어를 수행할 낸드 플래시의 주소에 대한 정보를 저장하는 레지스터, 상기 레지스터에 저장되고 상기 낸드 플래시의 내부 동작이 정상적으로 수행되었는지를 체크하는 리드 스테이터스(Read status) 명령어를 이용하여 상기 낸드 플래시 각각의 상태를 확인하고, 상기 확인된 각 낸드 플래시의 상태를 기초로 상기 낸드 플래시 각각이 입출력 버스(Input Output bus)를 점유할 순서를 결정하는 낸드 플래시 컨트롤러 및 상기 낸드 플래시와 상기 낸드 플래시 컨트롤러 간에 전송되는 데이터를 임시 저장하는 버퍼를 포함할 수 있다.
R/B(Ready/Busy) 핀 대신 리드 스테이터스(Read status) 명령어를 이용하여 낸드 플래시 각각의 상태를 확인하고, 확인된 각 낸드 플래시의 상태를 기초로 각각의 낸드 플래시가 입출력 버스(Input Output bus)를 점유할 순서를 결정함으로써 컨트롤러에 필요한 핀의 개수를 확연히 줄일 수 있으므로, 컨트롤러의 설계를 보다 원활하게 할 수 있으면서도 각각의 낸드 플래시를 독립적으로 관찰/제어할 수 있다.
낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간에 대한 정보 및 상기 명령어에 대한 각 낸드 플래시의 내부 동작 시간에 대한 정보를 기초로 생성된 타임 테이블을 이용하여 낸드 플래시 각각의 상태를 확인할 시간을 결정하고 이를 기초로 입출력 버스 점유 및 읽기/쓰기에 대해 스케줄링함으로써 낸드 플래시 컨트롤러의 핀 개수를 줄이고도 속도 저하를 최소화할 수 있다.
도 1은 낸드 플래시를 나타내는 도면이다.
도 2는 본 발명의 일실시예에 있어서, 낸드 플래시 메모리 장치를 나타내는 블록도이다.
도 3은 본 발명의 일실시예에 있어서, 다중 웨이 낸드 플래시 제어 방법을 나타내는 흐름도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 낸드 플래시(NAND flash)를 나타내는 도면이다.
도 1에 도시된 것과 같이, 낸드 플래시(100)는 복수개의 I/O(Input/Output) 핀, WP(Write Protect) 핀, VCC(Voltage Controller) 핀, VSS(Voltage Source) 핀, R/B(Ready/Busy) 핀, CLE(Command Latch Enable) 핀, CE(Chip Enable) 핀, ALE(Address Latch Enable) 핀, RE(Read Enable) 핀 및 WE(Write Enable) 핀을 포함할 수 있다.
I/O 핀은 데이터 및 주소를 입출력하기 위한 핀으로서, 낸드 플래시(100)는 기존의 메모리와는 다르게 주소와 데이터 라인을 하나의 포트에서 공용으로 사용하고 있다. 따라서, 낸드 플래시(100)는 하나의 포트를 통해 전송되는 데이터가 명령어(command)인지 주소(address)인지 구분하기 위하여 CLE 핀과 ALE 핀을 포함한다.
CLE 핀은 I/O 버스를 통하여 읽기, 쓰기, 지우기 등의 명령어가 출력됨을 알려준다. 즉, CLE가 high일 때 I/O 버스로 출력되는 데이터는 낸드 플래시(100)로 보내는 명령어이다.
ALE 핀은 I/O 버스를 통하여 주소가 출력됨을 알려준다. 즉, ALE가 high 일 때 I/O 버스로 출력되는 데이터는 낸드 플래시(100)로 보내는 주소이다. CLE 핀과 ALE 핀이 모두 low 일 때 I/O 버스로는 데이터가 출력된다.
RE 핀과 WE 핀은 데이터를 읽고 쓰는 것을 나타내는 핀으로서, 데이터를 읽을 때는 RE 핀이 low가 되고, 데이터를 쓸 때는 WE 핀이 low가 된다.
CE 핀은 프로세서가 낸드 플래시(100)를 사용하고 있는지를 나타낸다.
R/B 핀은 낸드 플래시의 상태를 나타내는 핀으로서, R/B 핀이 low 일 때는 "busy" 상태이며, high 일 때는 "ready" 상태임을 나타낸다.
이와 같은 낸드 플래시(100)를 복수개 사용하여 다중 웨이 낸드 플래시를 구성함에 있어서, 복수개의 낸드 플래시가 어떠한 상태에 있는지 실시간으로 확인하는 것은 필수 요건이다. 낸드 플래시의 동작은 명령 전달, 플래시 내부 동작, 내부 동작 성공 확인 및 후동작(예를 들어, 읽어오기, 쓰기, 지우기 등)으로 이루어 진다. 이 중 내부 동작은 전체 동작에서 가장 긴 시간을 차지한다. 쓰기 동작의 경우에는 다른 동작의 10~20배의 시간을 차지하고, 읽기 동작의 경우도 다른 동작의 5배 이상의 시간을 차지한다. 이러한 내부 동작의 상태는 낸드 플래시(100)의 R/B 핀을 통해 확인할 수 있다.
R/B 핀은 평소에는 그 값이 high 인데, 플래시가 내부 동작 중일 때는 low 가 되고, 동작이 완료되는 순간에 다시 high 가 된다. 때문에, R/B 핀을 참조하면 현재 낸드 플래시의 상태를 알 수 있다.
그러나, 대용량의 저장 장치를 개발하는데 있어서 하나의 저장 장치에 들어가는 낸드 플래시 칩의 개수는 계속적으로 늘어나고 있고, 낸드 플래시 칩 하나에 R/B핀은 1개 혹은 2개씩 들어가기 때문에, 기존의 낸드 플래시 제어 장치의 경우 하나의 저장 장치에 포함되는 낸드 플래시 칩의 개수에 따라 이를 제어하기 위한 핀의 개수 또한 증가한다.
따라서 본 발명에 따른 멀티 웨이 낸드 플래시 제어 장치는 R/B핀을 없애서 핀의 개수를 획기적으로 줄이는 한편, R/B핀이 있을 때에 버금가는 빠른 속도로 낸드 플래시의 상태를 체크하기 위하여 타임 테이블을 이용한다.
도 2는 본 발명의 일실시예에 있어서, 다중 웨이 낸드 플래시를 포함하는 낸드 플래시 메모리 장치를 나타내는 블록도이다. 이하, 도 2를 참조하여 본 발명에 따른 멀티 웨이 낸드 플래시 제어 장치에 대해 보다 상세히 설명한다.
낸드 플래시 메모리 장치는 복수개의 낸드 플래시(212~218), 레지스터(220), 낸드 플래시 제어 장치(230) 및 버퍼(242, 244)를 포함할 수 있다.
각각의 낸드 플래시(212~218)는 낸드 플래시 제어 장치(230)의 제어에 따라 읽기, 쓰기, 지우기 등의 동작을 수행한다.
레지스터(220)는 상위 컨트롤러에게 읽기, 쓰기, 지우기 등의 명령어를 전달 받아, 낸드 플래시 제어 장치(230)로 전송한다. 상기 레지스터(220)에는 상기 낸드 플래시(212~218)가 수행할 동작에 대한 명령어와 상기 명령어를 수행할 낸드 플래시의 주소에 대한 정보가 저장될 수 있다.
버퍼(242, 244)는 읽기 / 쓰기 시에 낸드 플래시(212~218)와 낸드 플래시 제어 장치(230) 간에 전송되는 데이터를 임시로 저장하는 것으로서, 상기 버퍼는 일 예로 도 2에 도시된 것과 같이 읽기 버퍼(242) 및 쓰기 버퍼(244)로 구현될 수 있다.
이 경우, 읽기 버퍼(242)는 읽기 동작일 때 데이터를 상위 컨트롤러에서 BUS를 통해 받아온 후 준비가 완료되면 낸드 플래시 제어 장치(230)를 통해 상기 데이터를 해당하는 낸드 플래시로 전달한다.
이와 유사하게 쓰기 버퍼(244)는 쓰기 동작일 때 데이터를 낸드 플래시 제어 장치(230)를 통해 낸드 플래시로부터 읽어와 임시로 저장하고, BUS를 통해 상위 컨트롤러로 전달한다.
낸드 플래시 제어 장치(230)는 리드 스테이터스(Read status) 명령어를 이용하여 낸드 플래시 각각의 상태를 확인하고, 확인된 각 낸드 플래시의 상태를 기초로 낸드 플래시 각각이 입출력 버스를 점유할 순서를 결정한다.
여기서, 상기 리드 스테이터스 명령어란 레지스터(220)에 저장되는 명령어 중 하나로서, R/B 핀이 있는 경우 낸드 플래시의 내부 동작 완료 시 내부 동작이 정상적으로 완료되었는지 실패하였는지 체크하는 역할을 하며, 필수적으로 수행해야 하는 명령이다. 결과 값은 IO핀을 통해 받아온다. 이 때, 낸드 플래시 제어 장치(230)는 상기 리드 스테이터스 명령을 이용하여 내부 동작의 완료 여부도 확인할 수 있다. 예를 들어, 낸드 플래시 제어 장치(230)는 8개의 IO 핀 중 6번 핀을 이용하여 내부 동작 완료를 확인하고, 0번 핀을 이용하여 내부 동작 성공을 확인할 수 있다.
이를 위하여 낸드 플래시 제어 장치(230)는 일 예로, 도 2에 도시된 것과 같이 인터리빙 스케줄러(232) 및 낸드 플래시 모니터(234)를 포함할 수 있다.
인터리빙 스케줄러(232)는 각종 명령어를 지원하는 낸드 플래시(212~218)의 스펙에 맞춰 각 낸드 플래시(212~218)에 대한 제어 신호를 생성하는 것으로서, 다중 웨이 낸드 플래시가 IO 버스를 점유하는 순서를 인터리빙 방식으로 스케줄링할 수 있다.
낸드 플래시 모니터(234)는 기 생성된 타임 테이블을 기초로 리드 스테이터스(Read status) 명령어를 이용하여 낸드 플래시 각각의 상태(내부 동작의 완료 여부)를 확인할 수 있다.
R/B핀이 있는 경우에는 인터럽트 방식을 이용하여 값이 low 에서 high 로 바뀌는 순간 바로 낸드 플래시의 동작 완료를 알 수 있지만, 리드 스테이터스 명령어를 이용할 경우에는 인터럽트 방식을 사용할 수 없기 때문에 다음의 특징을 활용한 폴링 방식을 사용하여 폴링 속도를 최적화할 수 있다.
1. 각 플래시 칩의 내부 동작 시간은 각각 다르다.
2. 각 명령의 평균 속도는 데이터 시트에 제공된다.
3. 어떤 명령의 수행시간은 이전 수행시간과 비슷하다.
낸드 플래시 제어 장치(230)는 위의 특징을 활용하여 다음의 데이터를 이용하여 타임 테이블을 생성하고 이를 참조하여 폴링 방식으로 낸드 플래시의 상태를 읽을 시간을 결정할 수 있다.
1. 낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간
2. 명령어에 대한 각 낸드 플래시의 내부 동작 시간
최초의 타임 테이블에는 데이터 시트를 참조한 최소값을 세팅해 놓을 수 있으며, 실제 폴링 시작 시간은 참조하는 시간과 같거나 약간 빠르게 설정될 수 있다. 또한 IO 핀이 다른 낸드 플래시에 의해 점유 중일 시는 상기 타임 테이블을 참조하여 다음 체크할 낸드 플래시의 순서를 결정할 수 있다.
도 3은 본 발명의 일실시예에 있어서, 다중 웨이 낸드 플래시 제어 방법을 나타내는 흐름도이다. 이하, 도 3을 참조하여 다중 웨이 낸드 플래시를 제어하는 방법에 대해 보다 상세히 설명한다.
먼저, R/B 핀 대신 리드 스테이터스 명령어를 사용하여 복수개의 낸드 플래시를 제어할 때의 속도 저하를 최소화하기 위하여, 낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간에 대한 정보 및 상기 명령어에 대한 각 낸드 플래시의 내부 동작 시간에 대한 정보를 기초로 타임 테이블을 생성한다(S310).
그리고, 생성한 타임 테이블을 기초로 폴링 방식으로 상기 낸드 플래시 각각의 상태를 확인할 시간을 결정하고 리드 스테이터스 명령어를 이용하여 각 낸드 플래시의 내부 동작 완료 여부를 확인한다(S320).
이후, 각 낸드 플래시의 상태가 확인되면 이를 기초로 낸드 플래시 각각이 입출력 버스를 점유할 순서를 결정한다(S330). 이 때, 각각의 낸드 플래시가 입출력 버스를 점유할 순서는 인터리빙 방식으로 결정될 수 있다.
따라서, 본 발명에 따른 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법은 R/B 핀 대신 리드 스테이터스 명령어를 이용하여 낸드 플래시 각각의 상태를 확인할 수 있기 때문에 컨트롤러에 필요한 핀의 개수를 확연히 줄일 수 있으므로, 컨트롤러의 설계를 보다 원활하게 할 수 있으면서도 각각의 낸드 플래시를 독립적으로 관찰/제어할 수 있다.
또한, 낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간에 대한 정보 및 상기 명령어에 대한 각 낸드 플래시의 내부 동작 시간에 대한 정보를 기초로 생성된 타임 테이블을 이용하여 낸드 플래시 각각의 상태를 확인할 시간을 결정하고 이를 기초로 입출력 버스 점유 및 읽기/쓰기에 대해 스케줄링하기 때문에 낸드 플래시 제어 장치의 핀 개수를 줄이고도 속도 저하를 최소화할 수 있다.
일 실시예에 따른 다중 웨이 낸드 플래시 제어 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
212, 214, 216, 218: 낸드 플래시
220: 레지스터
230: 다중 웨이 낸드 플래시 제어 장치
242, 244: 버퍼

Claims (15)

  1. 복수개의 낸드 플래시(NAND flash)를 제어하는 낸드 플래시 제어 장치에 있어서,
    상기 낸드 플래시의 내부 동작이 정상적으로 수행되었는지를 체크하는 리드 스테이터스(Read status) 명령어를 이용하여 상기 복수개의 낸드 플래시 각각의 상태를 확인하는 낸드 플래시 모니터; 및
    상기 확인된 각 낸드 플래시의 상태를 기초로 상기 낸드 플래시 각각이 입출력 버스(Input Output bus)를 점유할 순서를 결정하는 스케줄러
    를 포함하고,
    상기 낸드 플래시 모니터는,
    기 생성된 타임 테이블을 기초로 폴링(polling) 방식으로 상기 낸드 플래시 각각의 상태를 확인할 시간을 결정하는 것
    을 특징으로 하는 다중 웨이 낸드 플래시 제어 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 타임 테이블은,
    상기 낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간에 대한 정보 및 상기 명령어에 대한 각 낸드 플래시의 내부 동작 시간에 대한 정보를 기초로 생성되는 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 장치.
  4. 제1항에 있어서,
    상기 낸드 플래시 모니터는,
    상기 리드 스테이터스 명령어를 이용하여 상기 내부 동작의 완료 여부를 확인하는 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 장치.
  5. 제1항에 있어서,
    상기 낸드 플래시 모니터는,
    R/B(Ready/Busy) 핀 대신 상기 리드 스테이터스 명령어를 이용하여 상기 복수개의 낸드 플래시 각각의 상태를 확인하는 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 장치.
  6. 제1항에 있어서,
    상기 스케줄러는,
    인터리빙(interleaving) 방식으로 상기 각각의 낸드 플래시가 상기 입출력 버스를 점유할 순서를 결정하는 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 장치.
  7. 복수개의 낸드 플래시(NAND flash)를 제어하는 방법에 있어서,
    낸드 플래시 제어 장치가 상기 낸드 플래시의 내부 동작이 정상적으로 수행되었는지를 체크하는 리드 스테이터스(Read status) 명령어를 이용하여 상기 낸드 플래시 각각의 상태를 확인하는 단계;
    상기 확인된 각 낸드 플래시의 상태를 기초로 상기 낸드 플래시 각각이 입출력 버스(Input Output bus)를 점유할 순서를 결정하는 단계; 및
    기 생성된 타임 테이블을 기초로 폴링(polling) 방식으로 상기 낸드 플래시 각각의 상태를 확인할 시간을 결정하는 단계
    를 포함하는 다중 웨이 낸드 플래시 제어 방법.
  8. 삭제
  9. 제7항에 있어서,
    상기 타임 테이블은,
    상기 낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간에 대한 정보 및 상기 명령어에 대한 각 낸드 플래시의 내부 동작 시간에 대한 정보를 기초로 생성되는 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 방법.
  10. 제7항에 있어서,
    상기 낸드 플래시 각각의 상태를 확인하는 단계는,
    상기 리드 스테이터스 명령어를 이용하여 상기 내부 동작의 완료 여부를 확인하는 단계인 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 방법.
  11. 제7항에 있어서,
    상기 낸드 플래시 각각의 상태를 확인하는 단계는,
    R/B(Ready/Busy) 핀 대신 상기 리드 스테이터스 명령어를 이용하여 상기 복수개의 낸드 플래시 각각의 상태를 확인하는 단계인 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 방법.
  12. 제7항에 있어서,
    상기 낸드 플래시 각각이 입출력 버스를 점유할 순서를 결정하는 단계는,
    인터리빙(interleaving) 방식으로 상기 각각의 낸드 플래시가 상기 입출력 버스를 점유할 순서를 결정하는 단계인 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 방법.
  13. 복수개의 낸드 플래시;
    상기 낸드 플래시가 수행할 동작에 대한 명령어 및 상기 명령어를 수행할 낸드 플래시의 주소에 대한 정보를 저장하는 레지스터;
    상기 레지스터에 저장되고 상기 낸드 플래시의 내부 동작이 정상적으로 수행되었는지를 체크하는 리드 스테이터스(Read status) 명령어를 이용하여 상기 낸드 플래시 각각의 상태를 확인하고, 상기 확인된 각 낸드 플래시의 상태를 기초로 상기 낸드 플래시 각각이 입출력 버스(Input Output bus)를 점유할 순서를 결정하는 낸드 플래시 컨트롤러; 및
    상기 낸드 플래시와 상기 낸드 플래시 컨트롤러 간에 전송되는 데이터를 임시 저장하는 버퍼
    를 포함하고,
    상기 낸드 플래시 컨트롤러는,
    기 생성된 타임 테이블을 기초로 폴링(polling) 방식으로 상기 낸드 플래시 각각의 상태를 확인할 시간을 결정하는 것
    을 특징으로 하는 낸드 플래시 메모리 장치.
  14. 제13항에 있어서,
    상기 타임 테이블은,
    상기 낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간에 대한 정보 및 상기 명령어에 대한 각 낸드 플래시의 내부 동작 시간에 대한 정보를 기초로 생성되는 것
    을 특징으로 하는 낸드 플래시 메모리 장치.
  15. 제13항에 있어서,
    상기 낸드 플래시 컨트롤러는,
    R/B(Ready/Busy) 핀 대신 상기 리드 스테이터스 명령어를 이용하여 상기 내부 동작의 완료 여부를 확인하고,
    인터리빙(interleaving) 방식으로 상기 각각의 낸드 플래시가 상기 입출력 버스를 점유할 순서를 결정하는 것을 특징으로 하는 낸드 플래시 메모리 장치.
KR1020120091358A 2011-12-23 2012-08-21 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법 KR101366960B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/366,496 US20150006794A1 (en) 2011-12-23 2012-12-10 Apparatus and method for controlling multi-way nand flashes by using input-output pins
PCT/KR2012/010696 WO2013094913A1 (ko) 2011-12-23 2012-12-10 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020110141318 2011-12-23
KR20110141318 2011-12-23

Publications (2)

Publication Number Publication Date
KR20130073804A KR20130073804A (ko) 2013-07-03
KR101366960B1 true KR101366960B1 (ko) 2014-02-25

Family

ID=48988161

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120091358A KR101366960B1 (ko) 2011-12-23 2012-08-21 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법

Country Status (2)

Country Link
US (1) US20150006794A1 (ko)
KR (1) KR101366960B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190069805A (ko) * 2017-12-12 2019-06-20 에스케이하이닉스 주식회사 반도체시스템
US10416886B2 (en) 2015-04-06 2019-09-17 Samsung Electronics Co., Ltd. Data storage device that reassigns commands assigned to scale-out storage devices and data processing system having the same
US11029867B2 (en) 2019-07-04 2021-06-08 SK Hynix Inc. Apparatus and method for transmitting map information and read count in memory system
US11269765B2 (en) 2019-06-04 2022-03-08 SK Hynix Inc. Operating method of controller and memory system
US11354250B2 (en) 2019-04-22 2022-06-07 SK Hynix Inc. Apparatus for transmitting map information in memory system
US11366611B2 (en) 2019-05-29 2022-06-21 SK Hynix Inc. Apparatus for transmitting map information in a memory system
US11416408B2 (en) 2019-07-05 2022-08-16 SK Hynix Inc. Memory system, memory controller and method for operating memory system
US11422942B2 (en) 2019-04-02 2022-08-23 SK Hynix Inc. Memory system for utilizing a memory included in an external device

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9535607B2 (en) 2015-02-12 2017-01-03 SK Hynix Inc. Semiconductor system performing status read for semiconductor device and operating method thereof
KR20170001237A (ko) 2015-06-26 2017-01-04 에스케이하이닉스 주식회사 상태 읽기를 수행하는 메모리 시스템 및 그것의 동작 방법
US10152237B2 (en) 2016-05-05 2018-12-11 Micron Technology, Inc. Non-deterministic memory protocol
US10534540B2 (en) 2016-06-06 2020-01-14 Micron Technology, Inc. Memory protocol
KR102611266B1 (ko) * 2016-09-02 2023-12-08 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11003602B2 (en) * 2017-01-24 2021-05-11 Micron Technology, Inc. Memory protocol with command priority
KR20190018326A (ko) 2017-08-14 2019-02-22 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
KR102526608B1 (ko) * 2018-02-27 2023-05-02 에스케이하이닉스 주식회사 전자 장치 및 그것의 동작 방법
US10949115B2 (en) 2019-06-24 2021-03-16 Western Digital Technologies, Inc. Flash memory polling
KR20210008604A (ko) * 2019-07-15 2021-01-25 에스케이하이닉스 주식회사 메모리 시스템의 입출력 성능을 향상시키는 장치 및 방법
CN111078146B (zh) * 2019-12-13 2023-11-14 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
WO2022160114A1 (en) * 2021-01-27 2022-08-04 Yangtze Memory Technologies Co., Ltd. Method and system for asynchronous multi-plane independent (ampi) memory read operation
TWI810719B (zh) * 2021-11-22 2023-08-01 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
CN114115739B (zh) * 2021-11-25 2023-11-07 群联电子股份有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100764749B1 (ko) 2006-10-03 2007-10-08 삼성전자주식회사 멀티-칩 패키지 플래시 메모리 장치 및 그것의 카피 백방법
KR20110004651A (ko) * 2009-07-08 2011-01-14 삼성전자주식회사 고체 상태 드라이브 장치 및 그것의 구동 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619461A (en) * 1995-07-28 1997-04-08 Micron Quantum Devices, Inc. Memory system having internal state monitoring circuit
US20090172213A1 (en) * 2007-12-31 2009-07-02 Sowmiya Jayachandran Command completion detection in a mass storage device
US8904082B1 (en) * 2008-03-25 2014-12-02 Cadence Design Systems, Inc. Operation based polling in a memory system
US20100077035A1 (en) * 2008-09-23 2010-03-25 Nokia Corporation Optimized Polling in Low Resource Devices
US8447917B2 (en) * 2009-06-25 2013-05-21 Mediatek Inc. Flash memory devices and methods for controlling a flash memory device
US8560764B2 (en) * 2009-12-21 2013-10-15 Intel Corporation Repurposing NAND ready/busy pin as completion interrupt
US8310880B2 (en) * 2010-03-05 2012-11-13 248 Solid State, Inc. Virtual channel support in a nonvolatile memory controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100764749B1 (ko) 2006-10-03 2007-10-08 삼성전자주식회사 멀티-칩 패키지 플래시 메모리 장치 및 그것의 카피 백방법
KR20110004651A (ko) * 2009-07-08 2011-01-14 삼성전자주식회사 고체 상태 드라이브 장치 및 그것의 구동 방법

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10416886B2 (en) 2015-04-06 2019-09-17 Samsung Electronics Co., Ltd. Data storage device that reassigns commands assigned to scale-out storage devices and data processing system having the same
KR20190069805A (ko) * 2017-12-12 2019-06-20 에스케이하이닉스 주식회사 반도체시스템
US10665318B2 (en) 2017-12-12 2020-05-26 SK Hynix Inc. Semiconductor systems
KR102394727B1 (ko) 2017-12-12 2022-05-09 에스케이하이닉스 주식회사 반도체시스템
US11422942B2 (en) 2019-04-02 2022-08-23 SK Hynix Inc. Memory system for utilizing a memory included in an external device
US11354250B2 (en) 2019-04-22 2022-06-07 SK Hynix Inc. Apparatus for transmitting map information in memory system
US11366611B2 (en) 2019-05-29 2022-06-21 SK Hynix Inc. Apparatus for transmitting map information in a memory system
US11269765B2 (en) 2019-06-04 2022-03-08 SK Hynix Inc. Operating method of controller and memory system
US11029867B2 (en) 2019-07-04 2021-06-08 SK Hynix Inc. Apparatus and method for transmitting map information and read count in memory system
US11416408B2 (en) 2019-07-05 2022-08-16 SK Hynix Inc. Memory system, memory controller and method for operating memory system

Also Published As

Publication number Publication date
KR20130073804A (ko) 2013-07-03
US20150006794A1 (en) 2015-01-01

Similar Documents

Publication Publication Date Title
KR101366960B1 (ko) 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법
CN102841872B (zh) 用于命令处理的高性能路径
EP2529308B1 (en) A system and method for read-while-write with nand memory device
JP5414656B2 (ja) データ記憶装置、メモリ制御装置及びメモリ制御方法
CN104160384B (zh) 用于动态优先级控制的系统和方法
US20130254454A1 (en) Memory system and bank interleaving method
JP2006302255A (ja) 異種の非揮発性メモリを持つデータ記憶装置とその駆動方法
CN105373338A (zh) 一种flash的控制方法和控制器
KR20170001235A (ko) 메모리 시스템 및 그것의 동작 방법
CN111045593A (zh) 用来进行读取加速的方法以及数据存储装置及其控制器
US20060020764A1 (en) Information processing apparatus including non-volatile memory device, non-volatile memory device and methods thereof
US9792989B2 (en) Memory system including nonvolatile memory
JP4829370B1 (ja) メモリ制御装置、メモリ装置および停止制御方法
CN109901785B (zh) 命令排序方法、降低读时延方法及固态硬盘ssd控制器
JP4373255B2 (ja) ダイレクトメモリアクセス制御装置および方法
JP2009032305A (ja) 情報記録装置及びその制御方法
TWI474254B (zh) 用於在一記憶體系統中執行命令的方法與裝置及資料儲存系統
JP4929379B2 (ja) 半導体記憶装置及びデータ書き込み読み出し方法
JP2010182216A (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システムおよびプログラム
CN110874333A (zh) 存储设备及存储方法
CN103871469A (zh) 非易失性存储装置、操作方法和具有其的数据处理系统
JP2014174849A (ja) 半導体記憶装置
WO2013094913A1 (ko) 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법
US20150074298A1 (en) Command processing device and data storage device
US20180336147A1 (en) Application processor including command controller and integrated circuit including the same

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: 20161227

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee