KR20050079534A - 캐쉬 프로그램 장치 및 그 방법 - Google Patents
캐쉬 프로그램 장치 및 그 방법 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30196—Instruction 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
본 발명은 캐쉬 프로그램 장치 및 그 방법에 관한 것으로, 특히 종래에 비해 간단한 구성으로 캐쉬 프로그램을 실시할 수 있어 캐쉬 프로그램을 위한 구성이 차지하는 칩의 면적을 줄일 수 있는 캐쉬 프로그램 장치 및 그 방법에 관한 것이다.
캐쉬 프로그램은 처음에 동작을 하기 위해서 프로그램 데이터를 입력하고 그 프로그램 데이터에 대한 프로그램을 수행할 때 또다른 프로그램을 위한 데이터를 입력하는 방법이다. 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)
- 명령 신호를 입력하여 캐쉬 프로그램을 위한 신호 및 제어 신호를 출력하기 위한 명령 디코더;상기 명령 디코더로부터 출력된 상기 제어 신호에 따라 클럭 신호를 생성하기 위한 오실레이터;상기 캐쉬 프로그램을 위한 신호 및 상기 클럭 신호에 따라 캐쉬 프로그램에 따른 루틴을 실시하고, 다음 캐쉬 프로그램을 입력하기 위한 신호를 상기 명령 디코더에 전달하기 위한 마이크로 콘트롤러 유니트;상기 명령 디코더로부터의 상기 제어 신호 및 상기 마이크로 콘트롤러 유니트로부터의 제어 신호에 따라 내부 어드레스 신호의 페이지 어드레스 신호를 래치하기 위한 캐쉬 어드레스 래치;외부의 제어 신호에 따라 상기 내부 어드레스 신호의 컬럼 어드레스 신호를 입력하여 카운팅하기 위한 어드레스 카운터;상기 마이크로 콘트롤러 유니트로부터의 제어 신호에 따라 사용자가 다음 프로그램 데이터를 입력할 수 있는 시기를 알려주는 플래그를 생성하기 위한 플래그 블럭;상기 어드레스 카운터로부터 출력된 컬럼 어드레스 신호에 따라 입력 데이터를 임시 저장하기 위한 캐쉬 페이지 버퍼; 및상기 캐쉬 페이지 버퍼에 저장된 데이터를 입력하고, 셀 어레이의 소정 셀에 프로그램하기 위한 메인 페이지 버퍼를 포함하는 캐쉬 프로그램 장치.
- (a) 입력되는 명령이 캐쉬 프로그램 명령인지를 확인하는 단계;(b) 상기 확인 결과 캐쉬 프로그램 명령이 아니면 다른 루틴을 수행하고 캐쉬 프로그램 명령이면 캐쉬 프로그램을 수행한 후 다음 명령을 입력하기 위한 제어 신호를 생성하는 단계;(c) 캐쉬 페이저 버퍼의 데이터를 메인 페이지 버퍼로 전달한 후 새로운 명령 신호를 입력하는 단계;(d) 상기 새로운 명령 신호가 캐쉬 프로그램 명령인지를 확인하는 단계;(e) 상기 확인 결과 캐쉬 프로그램 명령이 입력되었으면 플래그 데이터를 리셋하여 사용자에게 다음 데이터를 입력할 수 있음을 알리는 단계;(f) 노멀 프로그램 동작을 실시한 후 상기 노멀 프로그램 동작이 성공하였는지를 확인하는 단계;(g) 상기 노멀 프로그램 동작이 실패하였으면 마지막 루프까지 노멀 프로그램을 실시한 후 페일 처리하는 단계; 및(h) 상기 노멀 프로그램 동작이 성공하였으면 다음 캐쉬 프로그램 명령과 데이터가 입력되었는지 확인한 후 상기 다음 캐쉬 프로그램 명령과 데이터가 입력되었으면 상기 (b) 단계로 천이하여 상기 과정을 반복하고, 그렇지 않으면 동작을 종료하는 단계를 포함하는 캐쉬 프로그램 방법.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100943141B1 (ko) * | 2008-01-10 | 2010-02-18 | 주식회사 하이닉스반도체 | 불휘발성 메모리 소자의 프로그램 방법 |
CN114328304A (zh) * | 2020-09-29 | 2022-04-12 | 成都忆芯科技有限公司 | 存储介质的操作方法和装置 |
-
2004
- 2004-02-06 KR KR1020040008022A patent/KR20050079534A/ko not_active Application Discontinuation
Cited By (4)
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 |