KR20050079534A - 캐쉬 프로그램 장치 및 그 방법 - Google Patents

캐쉬 프로그램 장치 및 그 방법 Download PDF

Info

Publication number
KR20050079534A
KR20050079534A KR1020040008022A KR20040008022A KR20050079534A KR 20050079534 A KR20050079534 A KR 20050079534A KR 1020040008022 A KR1020040008022 A KR 1020040008022A KR 20040008022 A KR20040008022 A KR 20040008022A KR 20050079534 A KR20050079534 A KR 20050079534A
Authority
KR
South Korea
Prior art keywords
cache
command
program
signal
data
Prior art date
Application number
KR1020040008022A
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 KR1020040008022A priority Critical patent/KR20050079534A/ko
Publication of KR20050079534A publication Critical patent/KR20050079534A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders

Abstract

본 발명은 캐쉬 프로그램 장치 및 그 방법에 관한 것으로, (a) 입력되는 명령이 캐쉬 프로그램 명령인지를 확인하는 단계와, (b) 상기 확인 결과 캐쉬 프로그램 명령이 아니면 다른 루틴을 수행하고 캐쉬 프로그램 명령이면 캐쉬 프로그램을 수행한 후 다음 명령을 입력하기 위한 제어 신호를 생성하는 단계와, (c) 캐쉬 페이저 버퍼의 데이터를 메인 페이지 버퍼로 전달한 후 새로운 명령 신호를 입력하는 단계와, (d) 상기 새로운 명령 신호가 캐쉬 프로그램 명령인지를 확인하는 단계와, (e) 상기 확인 결과 캐쉬 프로그램 명령이 입력되었으면 플래그 데이터를 리셋하여 사용자에게 다음 데이터를 입력할 수 있음을 알리는 단계와, (f) 노멀 프로그램 동작을 실시한 후 상기 노멀 프로그램 동작이 성공하였는지를 확인하는 단계와, (g) 상기 노멀 프로그램 동작이 실패하였으면 마지막 루프까지 노멀 프로그램을 실시한 후 페일 처리하는 단계와, (h) 상기 노멀 프로그램 동작이 성공하였으면 다음 캐쉬 프로그램 명령과 데이터가 입력되었는지 확인한 후 상기 다음 캐쉬 프로그램 명령과 데이터가 입력되었으면 상기 (b) 단계로 천이하여 상기 과정을 반복하고, 그렇지 않으면 동작을 종료하는 단계를 포함한다.

Description

캐쉬 프로그램 장치 및 그 방법{Apparatus for cache program and method of cache programming}
본 발명은 캐쉬 프로그램 장치 및 그 방법에 관한 것으로, 특히 종래에 비해 간단한 구성으로 캐쉬 프로그램을 실시할 수 있어 캐쉬 프로그램을 위한 구성이 차지하는 칩의 면적을 줄일 수 있는 캐쉬 프로그램 장치 및 그 방법에 관한 것이다.
캐쉬 프로그램은 처음에 동작을 하기 위해서 프로그램 데이터를 입력하고 그 프로그램 데이터에 대한 프로그램을 수행할 때 또다른 프로그램을 위한 데이터를 입력하는 방법이다. NAND형 플래쉬 메모리 소자는 프로그램을 실시할 때 한 페이지를 기본으로 실시하게 되는데, 디바이스마다 차이는 있지만 대개 528Byte나 1KByte 이상의 데이터를 입력한 후 프로그램 동작을 실시하게 된다. 따라서, 이 데이터를 입력하는 것은 거의 한 페이지에 대한 프로그램 동작을 실시하는 시간과 비슷하므로 캐쉬 프로그램을 실시하면 이러한 시간의 소모를 줄일 수 있다.
그러나, 종래의 캐쉬 프로그램을 실시하기 위해서는 많은 구성 수단을 필요로 하기 때문에 캐쉬 프로그램을 실시하기 위한 구성 수단이 칩에서 차지하는 면적이 상당히 크다.
본 발명의 목적은 종래에 비해 간단한 구성으로 캐쉬 프로그램을 실시할 수 있어 캐쉬 프로그램을 위한 구성이 차지하는 칩의 면적을 줄일 수 있는 캐쉬 프로그램 장치를 제공하는데 있다.
본 발명의 다른 목적은 종래에 비해 간단하게 캐쉬 프로그램을 실시할 수 있는 캐쉬 프로그램 방법을 제공하는데 있다.
본 발명에 따른 캐쉬 프로그램 장치는 명령 신호를 입력하여 캐쉬 프로그램을 위한 신호 및 제어 신호를 출력하기 위한 명령 디코더와, 상기 명령 디코더로부터 출력된 상기 제어 신호에 따라 클럭 신호를 생성하기 위한 오실레이터와, 상기 캐쉬 프로그램을 위한 신호 및 상기 클럭 신호에 따라 캐쉬 프로그램에 따른 루틴을 실시하고, 다음 캐쉬 프로그램을 입력하기 위한 신호를 상기 명령 디코더에 전달하기 위한 마이크로 콘트롤러 유니트와, 상기 명령 디코더로부터의 상기 제어 신호 및 상기 마이크로 콘트롤러 유니트로부터의 제어 신호에 따라 내부 어드레스 신호의 페이지 어드레스 신호를 래치하기 위한 캐쉬 어드레스 래치와, 외부의 제어 신호에 따라 상기 내부 어드레스 신호의 컬럼 어드레스 신호를 입력하여 카운팅하기 위한 어드레스 카운터와, 상기 마이크로 콘트롤러 유니트로부터의 제어 신호에 따라 사용자가 다음 프로그램 데이터를 입력할 수 있는 시기를 알려주는 플래그를 생성하기 위한 플래그 블럭과, 상기 어드레스 카운터로부터 출력된 컬럼 어드레스 신호에 따라 입력 데이터를 임시 저장하기 위한 캐쉬 페이지 버퍼와, 상기 캐쉬 페이지 버퍼에 저장된 데이터를 입력하고, 셀 어레이의 소정 셀에 프로그램하기 위한 메인 페이지 버퍼를 포함한다.
또한, 본 발명에 따른 캐쉬 프로그램 방법은 (a) 입력되는 명령이 캐쉬 프로그램 명령인지를 확인하는 단계와, (b) 상기 확인 결과 캐쉬 프로그램 명령이 아니면 다른 루틴을 수행하고 캐쉬 프로그램 명령이면 캐쉬 프로그램을 수행한 후 다음 명령을 입력하기 위한 제어 신호를 생성하는 단계와, (c) 캐쉬 페이저 버퍼의 데이터를 메인 페이지 버퍼로 전달한 후 새로운 명령 신호를 입력하는 단계와, (d) 상기 새로운 명령 신호가 캐쉬 프로그램 명령인지를 확인하는 단계와, (e) 상기 확인 결과 캐쉬 프로그램 명령이 입력되었으면 플래그 데이터를 리셋하여 사용자에게 다음 데이터를 입력할 수 있음을 알리는 단계와, (f) 노멀 프로그램 동작을 실시한 후 상기 노멀 프로그램 동작이 성공하였는지를 확인하는 단계와, (g) 상기 노멀 프로그램 동작이 실패하였으면 마지막 루프까지 노멀 프로그램을 실시한 후 페일 처리하는 단계와, (h) 상기 노멀 프로그램 동작이 성공하였으면 다음 캐쉬 프로그램 명령과 데이터가 입력되었는지 확인한 후 상기 다음 캐쉬 프로그램 명령과 데이터가 입력되었으면 상기 (b) 단계로 천이하여 상기 과정을 반복하고, 그렇지 않으면 동작을 종료하는 단계를 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명에 따른 NAND형 플래쉬 메모리 소자의 캐쉬 프로그램 장치의 구성도이다.
명령 어드레스 카운터(101)는 신호(RESALEND)와 어드레스 신호(Address)를 입력하여 카운팅 신호를 출력하는데, 카운팅 신호와 어드레스 신호(Address)가 조합되어 내부 어드레스 신호(Internal_Address)가 된다.
명령 디코더(102)는 명령 신호(command)을 입력하여 캐쉬 프로그램을 위한 신호(CACHEPGM)를 출력하는 동시에 신호(M_CACHEPGM)도 출력한다. 그리고, 마이크로 콘트롤러 유니트(104)로부터 신호(M_RESNEWPGM)를 입력하고 이에 응답하여 신호(CACHENEWPGM)을 마이크로 콘트롤러 유니트(104)에 입력시킨다.
클럭 오실레이터(103)는 명령 디코더(102)로부터 신호(M_CACHEPGM)를 입력하여 마이크로 콘트롤러 유니트(104)의 동작에 필요한 클럭(CLK)을 생성한다.
마이크로 콘트롤러 유니트(104)는 캐쉬 프로그램을 위한 신호(CACHEPGM)와 클럭(CLK)에 따라 캐쉬 프로그램에 따른 루틴(routine)으로 천이하고, 컬럼 어드레스 카운터(106)와 명령 어드레스 카운터(101)을 리셋시킨다. 그리고, 다음 캐쉬 프로그램을 입력하기 위해 신호(M_RESNEWPGM)을 명령 디코더(102)로 입력시킨다.
캐쉬 어드레스 래치(105)는 명령 디코더(102)로부터 신호(M_CACHEPGM)을 입력하고, 마이크로 콘트롤러 유니트(104)로부터 신호(M_CPCACHEAX)를 입력하여 내부 어드레스 신호(Internal_Address)의 페이지 어드레스 신호(Page Address)를 래치한다.
어드레스 카운터(106)는 외부로부터 신호(RES_COL)을 입력하고, 내부 어드레스 신호(Internal_Address)의 컬럼 어드레스 신호(Column Address)를 입력하여 카운팅한다.
플래그 블럭(107)은 사용자가 다음번 프로그램 데이터를 넣을 수 있는 시기를 알려주는 플래그를 만들어주기 위한 것으로, 마이크로 콘트롤로 유니트(104)로부터 출력된 신호(CTRL_RST)를 입력하여 신호(RDY/BSY)를 출력한다.
마이크로 콘트롤러 유니트(104)에 의해 제어되는 아날로그 블럭(108)은 소정의 신호를 셀 어레이(111)에 입력한다.
캐쉬 페이지 버퍼(109)는 어드레스 카운터(106)으로부터 출력된 컬럼 어드레스 신호(Column Address)에 따라 입력 데이터(DATA_IN)를 입력하여 임시 저장한다.
메인 페이지 버퍼(110)는 캐쉬 페이지 버퍼(109)에 저장된 데이터(Data)를 입력하고, 어드레스 카운터(106)로부터의 어드레스 신호(Address)에 따라 동작되는 스위치(112)를 통해 셀 어레이(111)의 소정 셀을 프로그램한다.
도 2는 본 발명에 따른 NAND형 플래쉬 메모리 소자의 캐쉬 프로그램 방법을 설명하기 위해 도시한 흐름도이다.
명령 신호가 입력되면(201) 캐쉬 프로그램 명령인지를 확인한다(202). 확인 결과 캐쉬 프로그램이 아니면 다른 루틴을 수행하게 되고, 캐쉬 프로그램이면 다음 명령을 수락하기 위해 신호(RES_COL)과 신호(RESALEND)를 생성한다. 그리고, 캐쉬 페이저 버퍼의 데이터를 메인 페이지 버퍼로 전달하는 전달 동작을 수행한다(204). 그 이후에 신호(M_RESNEWPGM)를 토글시켜 새로운 캐쉬 프로그램을 실시하게 된다(205). 이때 캐쉬 프로그램을 위한 신호(CACHENEW)를 다시 한번 확인하는데, MAMD형 플래쉬 메모리 소자의 스펙(spec.)에는 두가지의 캐쉬 프로그램 명령이 있기 때문이다. 만약 다음에 계속해서 캐쉬 프로그램 명령을 입력하려면 15번째 명령을 입력해야 하고, 더이상의 캐쉬 프로그램 동작을 수행하지 않으려면 노멀 프로그램 명령이나 10번째 캐쉬 프로그램 명령을 입력한 후 더이상 캐쉬 프로그램 명령을 입력하지 않는다. 따라서 이 두가지에 대한 플래그 데이터가 다르게 되는데, 이를 구별하기 위해 캐쉬 프로그램을 위한 신호를 한번 더 비교한다(206). 비교 결과 캐쉬 프로그램 명령이 입력되었으면 신호(CTRL_RST)를 토글시켜 플래그 데이터를 리셋하여(207) 준비 상태로 만들어 사용자에게 다음번 데이터를 입력할 수 있다는 것을 알려주게 된다. 준비 상태가 되면 사용자는 그때부터 다음 캐쉬 프로그램 명령과 데이터를 입력할 수 있는 것이다. 그리고, 노멀 프로그램 루틴으로 천이한 후 노멀 프로그램 동작을 실시한다(208). 프로그램 동작 후 패스 신호를 비교하여(209) 한번 더 프로그램할 것인지 다음 캐쉬 프로그램 명령에 대한 동작을 할 것인지 결정한다. 만약 노멀 프로그램 동작이 실패이면 마지막 루프까지 프로그램을 실시하였는지 신호(END_COL)를 이용하여 검토한 후(210) 마지막 루프까지 프로그램을 실시하였으면 페일 처리한다(211). 반면, 프로그램 동작이 성공하였으면 동작중에 다음 캐쉬 프로그램 명령과 데이터가 입력되었는지 신호(CACHENEWPGM)를 비교한다(212). 다음 캐쉬 프로그램 명령과 데이터가 입력되었으면 단계 (203)으로 천이하여 상기 과정을 반복하고, 그렇지 않으면 동작을 종료하게 된다.
상술한 바와 같이 본 발명에 의하면 종래에 비해 간단한 구성으로 캐쉬 프로그램을 실시할 수 있어 캐쉬 프로그램을 위한 구성이 차지하는 칩의 면적을 줄일 수 있다.
도 1은 본 발명에 따른 NAND형 플래쉬 메모리 소자의 캐쉬 프로그램 장치의 구성도.
도 2는 본 발명에 따른 NAND형 플래쉬 메모리 소자의 캐쉬 프로그램 방법을 설명하기 위한 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
101 : 명령 어드레스 카운터 102 : 명령 디코더
103 : 오실레이터 104 : 마이크로 콘트롤러 유니트
105 : 캐쉬 어드레스 래치 106 : 어드레스 카운터
107 : 플래그 블럭 108 : 아날로그 블럭
109 : 캐쉬 페이지 버퍼 110 : 메인 페이지 버퍼
111 : 셀 어레이 112 : 스위치

Claims (2)

  1. 명령 신호를 입력하여 캐쉬 프로그램을 위한 신호 및 제어 신호를 출력하기 위한 명령 디코더;
    상기 명령 디코더로부터 출력된 상기 제어 신호에 따라 클럭 신호를 생성하기 위한 오실레이터;
    상기 캐쉬 프로그램을 위한 신호 및 상기 클럭 신호에 따라 캐쉬 프로그램에 따른 루틴을 실시하고, 다음 캐쉬 프로그램을 입력하기 위한 신호를 상기 명령 디코더에 전달하기 위한 마이크로 콘트롤러 유니트;
    상기 명령 디코더로부터의 상기 제어 신호 및 상기 마이크로 콘트롤러 유니트로부터의 제어 신호에 따라 내부 어드레스 신호의 페이지 어드레스 신호를 래치하기 위한 캐쉬 어드레스 래치;
    외부의 제어 신호에 따라 상기 내부 어드레스 신호의 컬럼 어드레스 신호를 입력하여 카운팅하기 위한 어드레스 카운터;
    상기 마이크로 콘트롤러 유니트로부터의 제어 신호에 따라 사용자가 다음 프로그램 데이터를 입력할 수 있는 시기를 알려주는 플래그를 생성하기 위한 플래그 블럭;
    상기 어드레스 카운터로부터 출력된 컬럼 어드레스 신호에 따라 입력 데이터를 임시 저장하기 위한 캐쉬 페이지 버퍼; 및
    상기 캐쉬 페이지 버퍼에 저장된 데이터를 입력하고, 셀 어레이의 소정 셀에 프로그램하기 위한 메인 페이지 버퍼를 포함하는 캐쉬 프로그램 장치.
  2. (a) 입력되는 명령이 캐쉬 프로그램 명령인지를 확인하는 단계;
    (b) 상기 확인 결과 캐쉬 프로그램 명령이 아니면 다른 루틴을 수행하고 캐쉬 프로그램 명령이면 캐쉬 프로그램을 수행한 후 다음 명령을 입력하기 위한 제어 신호를 생성하는 단계;
    (c) 캐쉬 페이저 버퍼의 데이터를 메인 페이지 버퍼로 전달한 후 새로운 명령 신호를 입력하는 단계;
    (d) 상기 새로운 명령 신호가 캐쉬 프로그램 명령인지를 확인하는 단계;
    (e) 상기 확인 결과 캐쉬 프로그램 명령이 입력되었으면 플래그 데이터를 리셋하여 사용자에게 다음 데이터를 입력할 수 있음을 알리는 단계;
    (f) 노멀 프로그램 동작을 실시한 후 상기 노멀 프로그램 동작이 성공하였는지를 확인하는 단계;
    (g) 상기 노멀 프로그램 동작이 실패하였으면 마지막 루프까지 노멀 프로그램을 실시한 후 페일 처리하는 단계; 및
    (h) 상기 노멀 프로그램 동작이 성공하였으면 다음 캐쉬 프로그램 명령과 데이터가 입력되었는지 확인한 후 상기 다음 캐쉬 프로그램 명령과 데이터가 입력되었으면 상기 (b) 단계로 천이하여 상기 과정을 반복하고, 그렇지 않으면 동작을 종료하는 단계를 포함하는 캐쉬 프로그램 방법.
KR1020040008022A 2004-02-06 2004-02-06 캐쉬 프로그램 장치 및 그 방법 KR20050079534A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040008022A KR20050079534A (ko) 2004-02-06 2004-02-06 캐쉬 프로그램 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040008022A KR20050079534A (ko) 2004-02-06 2004-02-06 캐쉬 프로그램 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20050079534A true KR20050079534A (ko) 2005-08-10

Family

ID=37266456

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040008022A KR20050079534A (ko) 2004-02-06 2004-02-06 캐쉬 프로그램 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20050079534A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100943141B1 (ko) * 2008-01-10 2010-02-18 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
CN114328304A (zh) * 2020-09-29 2022-04-12 成都忆芯科技有限公司 存储介质的操作方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100943141B1 (ko) * 2008-01-10 2010-02-18 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
US8045393B2 (en) 2008-01-10 2011-10-25 Hynix Semiconductor Inc. Program method of nonvolatile memory device
CN114328304A (zh) * 2020-09-29 2022-04-12 成都忆芯科技有限公司 存储介质的操作方法和装置
CN114328304B (zh) * 2020-09-29 2023-11-14 成都忆芯科技有限公司 存储介质的操作方法和装置

Similar Documents

Publication Publication Date Title
TWI659422B (zh) 半導體記憶裝置及連續讀出方法
US9760433B2 (en) Flash memory control apparatus utilizing buffer to temporarily storing valid data stored in storage plane, and control system and control method thereof
US9971647B2 (en) Apparatus and method for programming ECC-enabled NAND flash memory
US8095834B2 (en) Macro and command execution from memory array
JP2011197819A (ja) 半導体装置
US9778880B2 (en) Memory control circuit unit, data transmitting method and memory storage device
JP5931236B1 (ja) 半導体装置の制御回路及び方法、並びに半導体装置
US20130107647A1 (en) Semiconductor device and method of operating the same
US20150058544A1 (en) Flash memory apparatus with serial interface and reset method thereof
US8275934B2 (en) Nonvolatile memory device and cache read method using the same
EP2194458A2 (en) Request processing device, request processing system, and access testing method
KR20050079534A (ko) 캐쉬 프로그램 장치 및 그 방법
US20100287337A1 (en) Nonvolatile memory device and method of operating the same
TWI716909B (zh) 記憶體控制系統及操作記憶體控制系統的方法
US9229798B2 (en) Error handling method, memory storage device and memory controlling circuit unit
KR20120024254A (ko) 메모리 시스템 및 그 동작 방법
TWI473110B (zh) 串列介面的快閃記憶體裝置及其重置動作的執行方法
JP2016151922A (ja) メモリ制御装置及びメモリ制御方法
KR101155113B1 (ko) 불휘발성 메모리 소자 및 그 동작 방법
US8897048B2 (en) Semiconductor memory device and programming method thereof
TWI701553B (zh) 反及閘快閃記憶體的讀取方法
KR20170043296A (ko) 보증 블록들을 포함하는 반도체 메모리 장치 및 그것의 동작 방법
CN115841838A (zh) 非易失性存储器及其数据读取方法、计算机系统
JP2008108361A (ja) 不揮発性半導体記憶装置
TW201521029A (zh) 非揮發性記憶體裝置

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination