KR100896181B1 - 임베디드 낸드 플래시 메모리 제어 장치 및 방법 - Google Patents

임베디드 낸드 플래시 메모리 제어 장치 및 방법 Download PDF

Info

Publication number
KR100896181B1
KR100896181B1 KR1020070008612A KR20070008612A KR100896181B1 KR 100896181 B1 KR100896181 B1 KR 100896181B1 KR 1020070008612 A KR1020070008612 A KR 1020070008612A KR 20070008612 A KR20070008612 A KR 20070008612A KR 100896181 B1 KR100896181 B1 KR 100896181B1
Authority
KR
South Korea
Prior art keywords
flash memory
nand flash
code information
code
register
Prior art date
Application number
KR1020070008612A
Other languages
English (en)
Other versions
KR20080070463A (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 KR1020070008612A priority Critical patent/KR100896181B1/ko
Priority to US12/016,680 priority patent/US20080183954A1/en
Publication of KR20080070463A publication Critical patent/KR20080070463A/ko
Application granted granted Critical
Publication of KR100896181B1 publication Critical patent/KR100896181B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
    • 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
    • G11C16/10Programming or data input circuits

Abstract

본 발명은 플래시 메모리 제어 장치 및 방법에 관한 것으로서, 특히 임베디드 낸드 플래시 메모리 동작을 제어하는 장치 및 방법에 관한 것이다.
본 발명의 일 실시 예에 따른 임베디드 낸드 플래시 메모리 제어 장치는 낸드 플래시 메모리 액세스 동작을 제어하는데 필요한 코드 정보들을 저장하는 코드 메모리, 상기 낸드 플래시 메모리에서 실행할 명령에 상응하는 코드 정보를 저장하는 레지스터, 상기 낸드 플래시 메모리에서 실행할 명령에 상응하는 코드 정보를 상기 코드 메모리에서 읽어내어 상기 레지스터에 저장시키는 중앙 처리 장치 및 상기 레지스터에 저장된 코드 정보에 따라서 낸드 플래시 메모리 액세스 프로세스를 수행하도록 설계된 하드-와이어 논리 회로를 포함함을 특징으로 한다.
낸드 플래시, 임베디드, 파라미터, 하드-와이어, 클럭

Description

임베디드 낸드 플래시 메모리 제어 장치 및 방법{Apparatus and method for controlling an embedded NAND flash memory}
도 1은 본 발명에 따른 임베디드 낸드 플래시 메모리 제어 장치의 블록 구성도이다.
도 2는 낸드 플래시 메모리의 내부 구조를 도시한 도면이다.
도 3은 본 발명에 따른 임베디드 낸드 플래시 메모리 제어 장치에서의 프로그램 동작이 실행되는 과정을 보여주는 개념도이다.
도 4는 본 발명에 따른 임베디드 낸드 플래시 메모리 제어 방법의 흐름도이다.
도 5는 본 발명의 일 실시 예에 따른 라이트 커맨드를 낸드 플래시 구동 코드(e-code)를 이용하여 실행시키는 방법의 흐름도이다.
본 발명은 플래시 메모리 제어 장치 및 방법에 관한 것으로서, 특히 임베디드 낸드 플래시 메모리 동작을 제어하는 장치 및 방법에 관한 것이다.
본 발명과 관련되어 공지된 선행 기술로는 대한민국 공개특허공보 제2002- 0030691 및 일본공개특허 평11-039245 등이 있다.
플래시 메모리는 전원이 제거되어도 정보를 그대로 유지하는 비휘발성 기억 장치로서, 주로 디지털 카메라나 MP3, 휴대폰, USB 드라이브 등 휴대형 기기에서 대용량 정보를 저장하는 용도로 사용된다. 반도체 칩 내부의 전자 회로형태에 따라 데이터 저장형인 낸드(NAND)형과 코드저장형인 노어(NOR)형으로 구분된다.
낸드 플래시 메모리는 저장 단위인 셀을 수직으로 배열해 좁은 면적에 많은 셀을 만들 수 있도록 돼있어 대용량이 가능한 반면에, 노어 플래시 메모리는 수평으로 배열돼 있어 용량은 작으나 읽기 속도가 빨라 휴대폰처럼 동작 중심의 핵심 데이터를 저장하는데 주로 사용된다. 노어 플래시 메모리는 기타 메모리들처럼 독립된 주소 공간을 갖고, 주소와 데이터 버스가 각각 존재하기 때문에, CPU에서 용이하게 인터페이스가 가능하다. 그러나, 낸드 플래시 메모리의 경우 주소와 데이터 버스가 공용 버스를 사용함은 물론, 독립된 주소 공간을 갖는 메모리가 아니기 때문에, 이를 해결하기 위한 하드웨어 제어 로직이 필요하다.
이에 따라서, 종래의 기술에 따르면 낸드 플래시 메모리를 제어하기 위하여 미리 정해진 알고리즘을 하드-와이어(hard-wire) 형태로 칩 내부에 구성하여 낸드 플래시 동작을 제어하였다.
이러한 방법은 사용자 환경에서 칩의 프로그램/소거, 리드(read) 동작을 용이하게 최적화하지 시키지 못하는 단점이 있었다. 즉, 낸드 플래시 메모리를 제어하는 알고리즘이 하드-와이어 형태의 하드웨어로 구성되어 있어서 외부 환경의 급격한 변화에 대해 적응적으로 대응하지 못하여 칩의 오동작이 발생되는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 상술한 문제점을 해결하기 위하여 임베디드 낸드 플래시 메모리의 동작을 내부 코드를 통하여 제어하는 낸드 플래시 메모리 제어 장치 및 방법을 제공하는데 있다. 또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 있다.
상기 기술적 과제를 해결하기 위하여 본 발명의 일 실시 예에 따른 임베디드 낸드 플래시 메모리 제어 장치는 낸드 플래시 메모리 액세스 동작을 제어하는데 필요한 코드 정보들을 저장하는 코드 메모리, 상기 낸드 플래시 메모리에서 실행할 명령에 상응하는 코드 정보를 저장하는 레지스터, 상기 낸드 플래시 메모리에서 실행할 명령에 상응하는 코드 정보를 상기 코드 메모리에서 읽어내어 상기 레지스터에 저장시키는 중앙 처리 장치 및 상기 레지스터에 저장된 코드 정보에 따라서 낸드 플래시 메모리 액세스 프로세스를 수행하도록 설계된 하드-와이어 논리 회로를 포함함을 특징으로 한다.
본 발명의 일 실시 예에 따르면 상기 코드 정보는 낸드 플래시 메모리의 파라미터 세팅 정보를 포함하며, 세부적으로 파라미터는 라이트 및 리드 바이어스 전압 인자를 포함하는 것이 바람직하다.
그리고, 본 발명의 일 실시 예에 따르면 상기 낸드 플래시 메모리는 상기 코 드 메모리에 저장된 코드 정보들에 의해서만 액세스되도록 설계하는 것이 바람직하다.
또한, 본 발명의 일 실시 예에 따르면 상기 중앙 처리 장치는 외부로부터 입력되는 클럭 신호 대신에 내부에서 생성된 클럭 신호를 이용하여 낸드 플래시 메모리를 액세스하도록 제어하도록 설계하는 것이 바람직하다.
본 발명의 일 실시 예에 따르면 상기 레지스터는 특수 기능 레지스터를 이용하는 것이 바람직하다.
본 발명의 일 실시 예에 따르면 상기 하드-와이어 논리 회로는 프로그램 및 검증 단위 기능 수행에 필요한 논리 회로로 구성되도록 설계하는 것이 바람직하다.
상기 다른 기술적 과제를 해결하기 위하여 본 발명의 일 실시 예에 따른 임베디드 낸드 플래시 메모리 제어 방법은 낸드 플래시 메모리 액세스에 관련된 커맨드가 입력되는지를 판단하는 단계, 상기 낸드 플래시 메모리 액세스에 관련된 커맨드가 입력되는 경우에, 낸드 플래시 메모리의 제어에 필요한 코드 정보들을 저장하는 코드 메모리로부터 상기 입력된 커맨드에 대응되는 코드 정보를 읽어내는 단계, 상기 코드 메모리에서 읽어낸 코드 정보를 레지스터에 저장하는 단계 및 상기 레지스터에 저장된 코드 정보에 따라서 낸드 플래시 메모리 액세스 프로세스를 수행하는 단계를 포함함을 특징으로 한다.
본 발명의 일 실시 예에 따르면 상기 코드 정보에 따라서 라이트 동작 수행 시에 프로그램 및 검증 프로세스 수행을 제어하고, 상기 검증 프로세스에서 검증에 실패하는 경우에 파라미터 값을 변경시키면서 프로그램 및 검증 프로세스를 반복하 여 실행시키도록 설계하는 것이 바람직하다.
상기 또 다른 기술적 과제를 해결하기 위하여 본 발명은 낸드 플래시 메모리를 내부 코드를 이용하여 제어하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실 시예에 따른 낸드 플래시 메모리 제어 장치의 블록 구성도이다.
도 1을 참조하면, 본 발명에 따른 임베디드 낸드 플래시 메모리 제어 장치는 중앙 처리 장치(CPU; 110), 내부 클럭 생산부(120), 코드 메모리(130), 특수 기능 레지스터(SIR; Special Function Register, 140), 하드-와이어 논리 회로(150), 낸드 플래시 메모리(160) 및 내부 버스 라인(170)으로 구성된다.
임베디드 낸드 플래시 메모리란 낸드 플래시 메모리를 액세스하는 기능을 수행하기 위한 프로그램 및 논리 회로가 낸드 플래시 메모리와 함께 하나의 칩에 내장된다는 것을 의미한다.
낸드 플래시 메모리(160)는 도 2에 도시된 바와 같이 다수의 블록으로 구성 되어 있으며, 또한 각 블록들은 다수의 페이지로 구성되어 있다. 블록은 소거 동작이 이루어지는 단위이고, 페이지는 읽기/쓰기 동작이 이루어지는 단위이다.
그리고 낸드 플래시 메모리(160)에서 데이터를 저장하는 기본단위는 셀(CELL)이며, 하나의 셀은 1비트의 정보를 저장하며, 디지털 "1" 또는 "0"의 값을 갖는다.
낸드 플래시 메모리(160)의 소거 동작은 지정된 블록 내의 모든 셀을 "1"로 만드는 경우이다. 즉, 낸드 플래시 메모리(160)의 소거 동작이 수행되는 경우에, 원래 셀에 저장된 값이 "0"인 경우에는 "1"로 바뀌게 되고 "1"인 경우에는 "1"을 그대로 유지하게 된다.
그리고 낸드 플래시 메모리(160)의 쓰기(write) 동작은 셀에 저장된 값과 쓰고자 하는 값에 따라서 달라진다. 셀에 기록되어 있는 값이 "1"인 경우, 즉 소거 동작이 이루어진 상태의 경우에 새로 쓰려는 값이 "0"이든 "1"이든 상관없이 잘 쓰인다. 반면, 셀에 기록되어 있는 값이 "0"인 경우, 어떠한 값도 기록되지 않는다.
따라서 라이트 하고자 하는 블록에 이미 라이트 동작이 실행되어 데이터가 저장되어 있는 경우는 소거 동작을 수행하여 모든 셀을 "1"로 만든 후에 쓰기 동작을 수행하여야 한다.
내부 클럭 생산부(120)는 발진 소자에서 생성된 발진 신호를 분주하여 시스템에서 목표로 하는 주파수의 클럭 신호를 생성시킨다. 본 발명에서는 외부에서 입력되는 클럭 신호 대신에 내부 클럭 신호 생산부(120)에서 생성된 클럭 신호를 이용하여 낸드 플래시 메모리(160) 액세스를 실행하게 설계한다.
코드 메모리(130)에는 낸드 플래시 메모리(160) 액세스 동작을 제어하는데 필요한 코드 정보(e-code)들이 저장되며, 비휘발성 메모리가 이용된다. 따라서, 낸드 플래시 메모리(160)의 동작은 코드 메모리(130)에 저장된 코드 정보들에 의해서만 제어된다.
코드 메모리(130)에는 낸드 플래시 메모리(160)의 파라미터를 세팅시키기 위한 코드 정보들이 저장되어 있으며, 여기에서, 파라미터는 일예로서 라이트 및 리드 바이어스 전압 인자가 될 수 있다. 물론 낸드 플래시 메모리(160)의 성능을 결정하는 다른 인자들도 포함되는 것은 당연한 사실이다.
일예로서, 코드 정보는 라이트 커맨드에 따라서 프로그램 및 검증 프로세스 수행을 제어하고, 검증 프로세스에서 검증에 실패하는 경우에 프로그램 및 검증 프로세스의 성능에 관련된 파라미터 값을 변경시키면서 프로그램 및 검증 프로세스를 반복하여 실행시키도록 설계될 수 있다.
여기에서, 프로그램 및 검증 프로세스의 성능에 관련된 파라미터는 라이트 및 리드 바이어스 전압 인자가 된다.
특수 기능 레지스터(SFR; 140)는 특별한 기능을 위하여 사용되는 레지스터로서 낸드 플래시 메모리(160)의 동작을 제어하기 위하여 필요한 코드들을 저장하기 위한 레지스터이다. 세부적으로, 특수 기능 레지스터(140)는 산술 연산이나 논리 연산, 기타 명령어가 실행된 후의 중앙 처리 장치(110)의 상태를 나타내는 상태 레지스터, 타이머/카운터 관련된 설정을 수행하는 옵션 레지스터, 인터럽트 프로세스를 제어하는 인터럽트 레지스터, 주소를 지정하는 레지스터, 입/출력 레지스터 등 으로 구성된다.
하드-와이어 논리 회로(150)는 단위 기능을 수행하도록 설계된 논리 회로로서, 특수 기능 레지스터(140)에 저장된 코드 정보들에 따라서 프로그램 단위 기능 및 검증 단위 기능이 수행되도록 논리 회로들로 구성된다.
중앙 처리 장치(110)는 낸드 플래시 메모리(160) 액세스에 관련된 커맨드가 입력되는 경우에, 입력된 커맨드를 실행시키기 위한 코드 정보들을 코드 메모리(130)로부터 읽어내어 특수 기능 레지스터(140)에 저장시킨다.
그리고, 중앙 처리 장치(110)는 외부에서 입력되는 클럭 신호 대신에 내부 클럭 생성부(120)에서 생성된 내부 클럭 신호를 이용하여 낸드 플래시 메모리(160) 액세스를 실행하도록 제어한다.
그러면, 도 3을 참조하여 도 1에 도시된 본 발명에 따른 임베디드 낸드 플래시 메모리 제어 장치의 동작을 설명하기로 한다.
도 3은 본 발명에 따른 임베디드 낸드 플래시 메모리 제어 장치의 프로그램 동작을 실행하는 과정을 보여주는 개념도이다.
중앙 처리 장치(110)는 호스트 장치(도면에 미도시)로부터 커맨드가 수신되면, 수신된 커맨드가 낸드 플래시 메모리(160) 액세스 관련 커맨드인지를 판단한다.
만일, 수신된 커맨드가 낸드 플래시 메모리(160) 액세스 관련 커맨드인 경우에, 중앙 처리 장치(110)는 외부에서 입력되는 클럭 신호 대신에 내부 클럭 생성부(120)에서 생성된 클럭 신호를 이용하여 낸드 플래시 메모리(160) 액세스하도록 제어한다.
그리고, 중앙 처리 장치(110)는 수신된 커맨드에 상응하는 코드 정보를 코드 메모리(130)에서 읽어내어, 특수 기능 레지스터(140)에 저장한다. 특수 기능 레지스터(140)에 저장되는 코드 정보는 낸드 플래시 메모리의 파라미터를 세팅시키기 위한 정보들을 포함하고 있다.
그러면, 특수 기능 레지스터(140)에 저장된 파라미터 세팅 정보에 따라서 하드-와이어 논리 회로(150-1)에서 프로그램 프로세스를 수행하기 위한 파라미터 값들을 설정하고 나서(S101), 내부 클럭 생성부(120)에서 생성된 클럭 신호를 이용하여 프로그램 동작이 종료될 때까지 프로그램 프로세스를 실행한다(S102, S103).
하드-와이어 논리 회로(150-1)는 프로그램 동작이 종료된 경우, 이를 알리는 신호를 특수 기능 레지스터(140)를 통하여 중앙 처리 장치(110)로 전달한다. 그러면, 중앙 처리 장치는 검증 프로세스를 실행하기 위한 코드 정보들을 코드 메모리(130)에서 읽어내어 특수 기능 레지스터(140)에 저장한다.
이에 따라서, 특수 기능 레지스터(140)에 저장된 파라미터 세팅 정보에 따라서 하드-와이어 논리 회로(150-2)에서 검증 프로세스를 수행하기 위한 파라미터 값들을 설정하고 나서(S201), 내부 클럭 생성부(120)에서 생성된 클럭 신호를 이용하여 검증 동작이 종료될 때까지 검증 프로세스를 실행한다(S202, S203).
하드-와이어 논리 회로(150-2)는 검증 동작이 종료된 경우, 검증 결과를 알리는 신호를 특수 기능 레지스터(140)를 통하여 중앙 처리 장치(110)로 전달한다.
이와 같이, 코드 메모리(130)에 저장된 코드 정보들을 이용하여 낸드 플래시 메모리(160) 액세스 제어 동작을 수행할 수 있게 된다. 따라서, 낸드 플래시 메모리의 기본 동작만을 하드-와이어 논리 회로(150)로 구성하고, 낸드 플래시 메모리(160)의 액세스 동작은 코드 메모리(130)에 저장된 코드 정보들을 이용한 하드-와이어 논리 회로(150) 제어를 통해 수행하게 된다.
또한, 외부에서 입력되는 클럭 신호 대신에 내부에서 생성된 클럭 신호를 이용하여 액세스함으로써 데이터 처리 속도를 높일 수 있게 된다.
다음으로, 본 발명에 따른 임베디드 낸드 플래시 메모리 제어 방법에 대하여 도 4의 흐름도를 참조하여 시계열적으로 설명하기로 한다.
중앙 처리 장치(110)로 낸드 플래시 메모리 액세스 관련 커맨드가 입력되는지를 판단한다(S401).
단계401(S401)의 판단 결과 낸드 플래시 메모리 액세스 관련 커맨드가 입력된 경우에, 중앙 처리 장치(110)는 입력된 커맨드를 실행시키기 위한 낸드 플래시 구동 코드(e-code)들을 코드 메모리(130)로부터 읽어낸다(S402).
중앙 처리 장치(110)는 단계402(S402)에서 읽어낸 낸드 플래시 구동 코드들을 특수 기능 레지스터(140)에 저장한다(S403).
그러면, 단계403(S403)에서 저장된 특수 기능 레지스터(140)에 저장된 코드 정보들에 따라서 낸드 플래시 메모리의 각종 파라미터 세팅 및 세부적인 액세스 동작을 제어하게 된다(S404).
다음으로, 낸드 플래시 메모리 액세스에 관련된 커맨드 중에서 라이트 커맨드를 낸드 플래시 구동 코드(e-code)를 이용하여 실행시키는 방법에 대하여 도 5의 흐름도를 참조하여 설명하기로 한다.
낸드 플래시 메모리에서의 라이트 모드를 실행시키기 위하여 중앙 처리 장치(110)로 라이트 커맨드를 입력시킨다(S501).
중앙 처리 장치(110)는 실행 가능한 커맨드가 정상적으로 입력되었는지를 판단한다(S502).
단계502(S502)의 판단 결과 라이트 커맨드가 정상적으로 입력된 경우에, 데이터 처리에 있어서 외부에서 입력된 클럭 신호 대신에 내부에서 생성된 클럭 신호를 적용한다(S503). 이는 데이터 처리 속도를 높이기 위함이다.
다음으로, 라이트 커맨드에 상응하여 코드 메모리(130)로부터 읽어내어 특수 기능 레지스터(140)에 저장된 프로그램 프로세스를 실행시키기 위한 코드 정보에 따라서 다음과 같이 동작한다.
우선, 중앙 처리 장치(110)의 내부 카운터(도면에 미도시) i를 0으로 리세트시킨다(S504).
다음으로, 카운터 i값에 상응하여 특수 기능 레지스터(140)에 저장된 코드 정보에 따라서 프로그램 모드의 성능에 관련된 파라미터(Pi_prg)를 설정한다(S505). 일 예로서, 파라미터(Pi_prg)는 라이트 바이어스 전압 값을 결정하는 인자가 될 수 있다.
단계505(S505)를 실행한 후에, 특수 기능 레지스터(140)에 저장된 코드 정보에 따라서 프로그램 동작을 시작한다(S506). 프로그램 동작은 특수 기능 레지스터(140)에 저장된 코드 정보에 따라서 하드-와이어 논리 회로(150)에 의하여 실행 된다.
다음으로, 프로그램 동작이 종료되었는지를 판단한다(S507). 프로그램 동작의 종료 판단은 하드-와이어 논리 회로(150)의 프로그램 동작 종료 상태를 나타내는 플래그 정보를 확인하여 판단한다.
단계507(S507)의 판단 결과 프로그램 동작인 종료된 경우에, 코드 메모리(130)로부터 읽어내어 특수 기능 레지스터(140)에 저장된 검증 프로세스를 실행시키기 위한 코드 정보에 따라서 다음과 같이 동작한다.
카운터 i값에 상응하여 특수 기능 레지스터(140)에 저장된 코드 정보에 따라서 검증 모드의 성능에 관련된 파라미터(Pi_ver)를 설정한다(S508). 일 예로서, 파라미터(Pi_ver)는 리드 바이어스 전압 값을 결정하는 인자가 될 수 있다.
단계508(S508)을 실행한 후에, 특수 기능 레지스터(140)에 저장된 코드 정보에 따라서 검증 동작을 시작한다(S509). 검증 동작은 특수 기능 레지스터(140)에 저장된 코드 정보에 따라서 하드-와이어 논리 회로(150)에 의하여 실행된다.
다음으로, 검증 동작이 종료되었는지를 판단한다(S510). 검증 동작의 종료 판단은 하드-와이어 논리 회로(150)의 검증 동작 종료 상태를 나타내는 플래그 정보를 확인하여 판단한다.
검증 동작이 종료된 경우에는, 프로그램 동작이 정상적으로 수행되었는지를 판단하여 검증 성공 여부를 판정한다(S511). 즉, 프로그램 동작에서 낸드 플래시 메모리(160)에 기록된 데이터를 읽어내어, 버퍼(도면에 미도시)에 저장되어 있는 프로그램 동작에 의하여 기록한 데이터와 비교하여 일치하는 경우에 검증에 성공한 것으로 판정하고, 그렇지 않은 경우에 검증에 실패한 것으로 판정한다.
단계511(S511)의 판정 결과 검증에 실패한 경우에는 카운터 i의 값이 프로그램 최대 반복 회수(Max_prg)보다 크거나 같은지 판단한다(S512).
단계512(S512)의 판단 결과 카운터 i의 값이 프로그램 최대 반복 회수(Max_prg)보다 작은 경우에는, 카운터 i의 값을 1 증가시킨 후에 단계505(S505)로 피드백시킨다(S513).
이에 따라서, 카운터 i의 값 증가에 따라서 단계505(S505) 및 단계508(S508)에서 프로그램 파라미터(Pi_prg) 및 검증 모드 파라미터(Pi_ver) 값이 각각 가변되며, 가변된 프로그램 파라미터(Pi_prg) 및 검증 모드 파라미터(Pi_ver)를 적용하여 프로그램 모드 및 검증 모드가 다시 실행됨을 알 수 있다.
만일 단계512(S512)의 판단 결과 카운터 i의 값이 프로그램 최대 반복 회수(Max_prg)보다 크거나 같은 경우에는, 프로그램 검증에 실패함을 알리는 신호를 중앙 처리 장치(110)로 전달하고 단계를 종료한다(S514).
그리고, 단계511(S511)의 판정 결과 검증에 성공한 경우에는, 프로그램 검증에 성공함을 알리는 신호를 중앙 처리 장치(110)로 전달하고 단계를 종료한다(S515).
이와 같은 방법에 의하여 코드 메모리(130)에 저장된 코드 정보들을 이용하여 낸드 플래시 메모리(160) 액세스 제어 동작을 수행할 수 있게 된다.
본 발명은 방법, 장치, 시스템 등으로서 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필연적으로 필요한 작업을 실행하는 코드 세그먼 트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되어 질 수 있으며 또는 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다. 프로세서 판독 가능 매체는 정보를 저장 또는 전송할 수 있는 어떠한 매체도 포함한다. 프로세서 판독 가능 매체의 예로는 전자 회로, 반도체 메모리 소자, ROM, 플래쉬 메모리, 이레이져블 ROM(EROM : Erasable ROM), 플로피 디스크, 광 디스크, 하드디스크, 광 섬유 매체, 무선 주파수(RF) 망, 등이 있다. 컴퓨터 데이터 신호는 전자 망 채널, 광 섬유, 공기, 전자계, RF 망, 등과 같은 전송 매체 위로 전파될 수 있는 어떠한 신호도 포함된다.
첨부된 도면에 도시되어 설명된 특정의 실시예들은 단지 본 발명의 예로서 이해되어 지고, 본 발명의 범위를 한정하는 것이 아니며, 본 발명이 속하는 기술분야에서 본 발명에 기술된 기술적 사상의 범위에서도 다양한 다른 변경이 발생될 수 있으므로, 본 발명은 보여지거나 기술된 특정의 구성 및 배열로 제한되지 않는 것은 자명하다.
상술한 바와 같이, 본 발명에 따르면 코드 메모리에 저장된 내부 코드를 이용하여 낸드 플래시 메모리 액세스 프로세스를 수행하도록 제어함으로써, 하드-와이어 논리 회로 구성을 간소화시킬 수 있어 칩 사이즈를 감소시킬 수 있는 효과가 발생된다. 또한, 코드 수정을 통하여 전체 제어 프로세스를 용이하게 변경시킬 수 있고, 낸드 플래시 메모리 동작에 관련된 각종 파라미터를 용이하게 변경시킬 수 있는 효과가 발생된다.

Claims (18)

  1. 낸드 플래시 메모리 액세스 동작을 제어하는데 필요한 코드 정보들을 저장하는 코드 메모리;
    상기 낸드 플래시 메모리에서 실행할 명령에 상응하는 코드 정보를 저장하는 레지스터;
    상기 낸드 플래시 메모리에서 실행할 명령에 상응하는 코드 정보를 상기 코드 메모리에서 읽어내어 상기 레지스터에 저장시키는 중앙 처리 장치; 및
    상기 레지스터에 저장된 코드 정보에 따라서 낸드 플래시 메모리 액세스 프로세스를 수행하도록 설계된 하드-와이어 논리 회로를 포함함을 특징으로 하는 임베디드 낸드 플래시 메모리 제어 장치.
  2. 제1항에 있어서, 상기 코드 메모리는 비휘발성 메모리로 설계함을 특징으로 하는 임베디드 낸드 플래시 메모리 제어 장치.
  3. 제1항에 있어서, 상기 코드 정보는 낸드 플래시 메모리의 파라미터 세팅 정보를 포함함을 특징으로 하는 임베디드 낸드 플래시 메모리 제어 장치.
  4. 제3항에 있어서, 상기 파라미터는 라이트 및 리드 바이어스 전압 인자를 포함함을 특징으로 하는 임베디드 낸드 플래시 메모리 제어 장치.
  5. 제1항에 있어서, 상기 낸드 플래시 메모리는 상기 코드 메모리에 저장된 코드 정보들에 의해서만 액세스됨을 특징으로 하는 임베디드 낸드 플래시 메모리 제어 장치.
  6. 제1항에 있어서, 상기 중앙 처리 장치는 외부로부터 입력되는 클럭 신호 대신에 내부에서 생성된 클럭 신호를 이용하여 낸드 플래시 메모리를 액세스하도록 제어함을 특징으로 하는 임베디드 낸드 플래시 메모리 제어 장치.
  7. 제1항에 있어서, 상기 레지스터는 상기 낸드 플래시 메모리의 동작을 제어하기 위하여 할당된 특수 기능 레지스터를 포함함을 특징으로 하는 임베디드 낸드 플래시 메모리 제어 장치.
  8. 삭제
  9. 제1항에 있어서, 상기 하드-와이어 논리 회로는 프로그램 및 검증 단위 기능 수행에 필요한 논리 회로를 포함함을 특징으로 하는 임베디드 낸드 플래시 메모리 제어 장치.
  10. 낸드 플래시 메모리 액세스에 관련된 커맨드가 입력되는지를 판단하는 단계;
    상기 낸드 플래시 메모리 액세스에 관련된 커맨드가 입력되는 경우에, 낸드 플래시 메모리의 제어에 필요한 코드 정보들을 저장하는 코드 메모리로부터 상기 입력된 커맨드에 대응되는 코드 정보를 읽어내는 단계;
    상기 코드 메모리에서 읽어낸 코드 정보를 레지스터에 저장하는 단계; 및
    상기 레지스터에 저장된 코드 정보에 따라서 낸드 플래시 메모리 액세스 프로세스를 수행하는 단계를 포함함을 특징으로 하는 임베디드 낸드 플래시 메모리 제어 방법.
  11. 제10항에 있어서, 상기 코드 정보는 낸드 플래시 메모리의 파라미터 세팅 정보를 포함함을 특징으로 하는 임베디드 낸드 플래시 메모리 제어 방법.
  12. 제11항에 있어서, 상기 파라미터는 라이트 및 리드 바이어스 전압 인자를 포함함을 특징으로 하는 임베디드 낸드 플래시 메모리 제어 방법.
  13. 제10항에 있어서, 상기 낸드 플래시 메모리는 상기 코드 메모리에 저장된 코드 정보들에 의해서만 액세스됨 특징으로 하는 임베디드 낸드 플래시 메모리 제어 방법.
  14. 제10항에 있어서, 상기 레지스터는 상기 낸드 플래시 메모리의 동작을 제어하기 위하여 할당된 특수 기능 레지스터를 포함함을 특징으로 하는 임베디드 낸드 플래시 메모리 제어 방법.
  15. 제10항에 있어서, 상기 코드 정보에 따라서 라이트 동작 수행 시에 프로그램 및 검증 프로세스 수행을 제어하고, 상기 검증 프로세스에서 검증에 실패하는 경우에 파라미터 값을 변경시키면서 프로그램 및 검증 프로세스를 반복하여 실행시킴을 특징으로 하는 임베디드 낸드 플래시 메모리 제어 방법.
  16. 제15항에 있어서, 상기 파라미터는 라이트 및 리드 바이어스 전압 인자를 포함함을 특징으로 하는 임베디드 낸드 플래시 메모리 제어 방법.
  17. 제10항에 있어서, 상기 낸드 플래시 메모리 액세스 프로세스 수행 시에 내부 시스템 클럭 신호를 이용함을 특징으로 하는 임베디드 낸드 플래시 메모리 제어 방법.
  18. 제10항 내지 제17항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020070008612A 2007-01-26 2007-01-26 임베디드 낸드 플래시 메모리 제어 장치 및 방법 KR100896181B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070008612A KR100896181B1 (ko) 2007-01-26 2007-01-26 임베디드 낸드 플래시 메모리 제어 장치 및 방법
US12/016,680 US20080183954A1 (en) 2007-01-26 2008-01-18 Apparatus for and method of controlling embedded nand flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070008612A KR100896181B1 (ko) 2007-01-26 2007-01-26 임베디드 낸드 플래시 메모리 제어 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080070463A KR20080070463A (ko) 2008-07-30
KR100896181B1 true KR100896181B1 (ko) 2009-05-12

Family

ID=39669250

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070008612A KR100896181B1 (ko) 2007-01-26 2007-01-26 임베디드 낸드 플래시 메모리 제어 장치 및 방법

Country Status (2)

Country Link
US (1) US20080183954A1 (ko)
KR (1) KR100896181B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
KR100967004B1 (ko) * 2008-08-05 2010-06-30 주식회사 하이닉스반도체 플래시 메모리 장치의 동작 제어 방법
US8225052B2 (en) 2009-06-03 2012-07-17 Micron Technology, Inc. Methods for controlling host memory access with memory devices and systems
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
CN114398013A (zh) * 2022-01-26 2022-04-26 东芯半导体股份有限公司 Nand存储器安全代码生成模块和生成方法、以及nand存储器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223211A1 (en) * 2004-03-24 2005-10-06 Kabushiki Kaisha Toshiba Microprocessor boot-up controller, nonvolatile memory controller, and information processing system
US20060274565A1 (en) * 2005-06-02 2006-12-07 Daisaburo Takashima Memory system having improved random write performance
US20060274566A1 (en) * 2005-06-02 2006-12-07 Daisaburo Takashima Memory system combining flash EEPROM and FeRAM
US7257703B2 (en) * 2003-11-18 2007-08-14 Toshiba America Electronic Components, Inc. Bootable NAND flash memory architecture

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801985A (en) * 1995-07-28 1998-09-01 Micron Technology, Inc. Memory system having programmable control parameters
JPH11186419A (ja) * 1997-12-25 1999-07-09 Toshiba Corp 不揮発性半導体記憶装置
KR100448905B1 (ko) * 2002-07-29 2004-09-16 삼성전자주식회사 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257703B2 (en) * 2003-11-18 2007-08-14 Toshiba America Electronic Components, Inc. Bootable NAND flash memory architecture
US20050223211A1 (en) * 2004-03-24 2005-10-06 Kabushiki Kaisha Toshiba Microprocessor boot-up controller, nonvolatile memory controller, and information processing system
US20060274565A1 (en) * 2005-06-02 2006-12-07 Daisaburo Takashima Memory system having improved random write performance
US20060274566A1 (en) * 2005-06-02 2006-12-07 Daisaburo Takashima Memory system combining flash EEPROM and FeRAM

Also Published As

Publication number Publication date
US20080183954A1 (en) 2008-07-31
KR20080070463A (ko) 2008-07-30

Similar Documents

Publication Publication Date Title
CN107844431B (zh) 映射表更新方法、存储器控制电路单元与存储器存储装置
US8812784B2 (en) Command executing method, memory controller and memory storage apparatus
US9268687B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
KR101165429B1 (ko) 반도체 기억장치 및 그 액세스 방법 및 메모리 제어 시스템
JP4713867B2 (ja) メモリコントローラ,メモリ装置及びメモリコントローラの制御方法
US9146691B2 (en) Method for managing commands in command queue, memory control circuit unit and memory storage apparatus
KR100816761B1 (ko) 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법
US20150046636A1 (en) Storage device, computer system and methods of operating same
KR100896181B1 (ko) 임베디드 낸드 플래시 메모리 제어 장치 및 방법
US8429337B2 (en) Apparatus for controlling NAND flash memory
US9324435B2 (en) Data transmitting method, memory control circuit unit and memory storage apparatus
US8954705B2 (en) Memory space management method and memory controller and memory storage device and memory storage using the same
JP2013229100A (ja) ダイナミックマルチモード動作を有する不揮発性メモリ
CN109491588B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN111796759B (zh) 多平面上的片段数据读取的计算机可读取存储介质及方法
US9081664B2 (en) Memory system capable of preventing data destruction
CN113885692A (zh) 存储器效能优化方法、存储器控制电路单元以及存储装置
JP5925549B2 (ja) メモリシステムおよびバンクインターリーブ方法
CN113641597A (zh) 管理数据存储的方法及装置以及计算机可读取存储介质
US9710374B2 (en) Data writing method, memory controller and memory storage device
US9405674B2 (en) Address generating circuit and address generating method
JP4334331B2 (ja) フラッシュメモリのアクセス制御方法
US6898680B2 (en) Minimization of overhead of non-volatile memory operation
JP2022522444A (ja) シーケンス処理ユニットを備えたメモリ制御システム
KR20090053164A (ko) 상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment
FPAY Annual fee payment
LAPS Lapse due to unpaid annual fee