KR20060009446A - 프로세서의 오동작을 방지할 수 있는 정보 처리 장치 - Google Patents

프로세서의 오동작을 방지할 수 있는 정보 처리 장치 Download PDF

Info

Publication number
KR20060009446A
KR20060009446A KR1020040057335A KR20040057335A KR20060009446A KR 20060009446 A KR20060009446 A KR 20060009446A KR 1020040057335 A KR1020040057335 A KR 1020040057335A KR 20040057335 A KR20040057335 A KR 20040057335A KR 20060009446 A KR20060009446 A KR 20060009446A
Authority
KR
South Korea
Prior art keywords
area
command
data
memory cell
cell array
Prior art date
Application number
KR1020040057335A
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 KR1020040057335A priority Critical patent/KR20060009446A/ko
Priority to US11/122,027 priority patent/US20060020764A1/en
Priority to DE102005035137A priority patent/DE102005035137A1/de
Publication of KR20060009446A publication Critical patent/KR20060009446A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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/26Sensing or reading circuits; Data output circuits
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/22Nonvolatile memory in which reading can be carried out from one memory bank or array whilst a word or sector in another bank or array is being erased or programmed simultaneously

Abstract

본 발명의 불휘발성 메모리는, 기입 동작을 수행하는 동안 외부로부터 명령이 수신되면 수신된 명령을 수행할 수 있는 지의 여부를 외부로 알려주기 위한 정보 신호를 출력한다. 또한, 본 발명의 정보 처리 장치에 구비된 프로세서 유닛은 불휘발성 메모리로부터의 정보 신호가 활성화될 때 프로세서의 동작을 중지시킴으로써 프로세서의 오동작을 방지한다.

Description

프로세서의 오동작을 방지할 수 있는 정보 처리 장치{INFORMATION PROCESSING DEVICE CAPABLE OF PREVENTING MALFUNCTION OF PROCESSOR}
도 1은 본 발명의 바람직한 실시예에 따른 정보 처리 장치를 보여주는 도면;
도 2는 모드 컨트롤러의 구체적인 구성을 보여주는 도면;
도 3은 불휘발성 메모리가 프로그램 동작을 수행 중에 프로세서 유닛으로부터 프로그램 명령이 출력될 때 정보 처리 장치에서 사용되는 신호들의 타이밍도;
도 4는 뱅크0에 대한 기입 명령과 독출 명령이 순차적으로 출력될 때 정보 처리 장치에서 사용되는 신호들의 타이밍도;
도 5는 본 발명의 다른 실시예에 다른 정보 처리 장치를 보여주는 도면;
도 6은 본 발명의 바람직한 실시예에 따른 불휘발성 메모리의 제어 수순을 보여주는 플로우차트; 그리고
도 7은 본 발명의 바람직한 실시예에 따른 정보 처리 장치의 제어 수순을 보여주는 플로우차트이다.
*도면의 주요 부분에 대한 설명
100, 200 : 정보 처리 장치 110, 210 : 프로세서 유닛
111 : 코드 메모리 112 : 모드 컨트롤러
113 : 프로세서 114 ; 클럭 발생기
120, 220 : 불휘발성 메모리 121, 122, 221, 222 : 메모리 뱅크
123, 124 : Y-디코더 125, 127 : 감지 증폭기
128, 131 : X-디코더 129, 132 : 컨트롤러
133, 138 : 어드레스 선택기 134, 136 ; 독출 어드레스 버퍼
135, 137 : 기입 어드레스 버퍼 139 : 기입 시퀀스 제어기
140 : 상태 컨트롤러
본 발명은 정보 처리 장치에 관한 것으로, 좀 더 구체적으로는 프로세서와 불휘발성 메모리를 포함하는 정보 처리 장치에 관한 것이다.
프로세서를 구비한 정보 처리 장치는 이 정보 처리 장치를 구동하기 위한 프로그램 코드를 필요로 한다. 일반적으로 프로그램 코드는 메모리에 저장되며, 프로그램 메모리는 ROM(Read Only Memory) 또는 RAM(Random Access memory)을 사용한다. ROM은 저장된 프로그램 코드를 자유롭게 변경하는 것이 어렵다는 단점이 있으며, RAM은 전원이 제거되면 저장된 프로그램 코드가 삭제되어서 프로그램 코드를 다시 다운로드해야 하는 번거로움이 있다. 최근에는 여러번 데이터를 읽고 쓸 수 있으며, 전원이 제거되어도 저장된 내용을 유지하는 불휘발성 메모리를 프로그램 메모리로 많이 사용하고 있다.
불휘발성 메모리 예컨대, NOR 타입 플래쉬 메모리의 독출 동작은 수 십 나노 초 소요되는데 반해 프로그램 동작은 수십~수백 마이크로초를 요하며 그리고 블록 소거 동작은 수십 밀리초가 걸린다.
파이프라인 프로세싱을 채용한 프로세서를 포함하는 정보 처리 장치에서, 클럭 신호의 1 주기 동안 한 태스크(task)가 수행되는데 불휘발성 메모리의 프로그램/소거 동작에 소요되는 시간은 길어서 1 주기 내에 완료되기 어렵다.
메모리가 프로세서로부터의 데이터 기입 명령에 응답해서 기입 동작을 수행하고 있는 동안 클럭 신호의 다음 주기에서 프로세서가 다음 태스크를 수행하기 위해 메모리에게 독출/기입 동작을 요구할 때 프로세서의 정상 동작을 보장할 수 없다. 이러한 문제를 해결하기 위하여 동일 뱅크 내에서 기입 동작을 수행하는 동안 독출 동작을 수행할 수 있는 메모리가 제안되었다. Alexis 등에 의해서 2001년 취득된 "Method and apparatus for placing a memory in a read-while-write mode" 제목의 미국등록특허번호 6,182,189는 "read-while-write" 모드를 갖는 메모리를 개시하고 있다.
"read-while-write" 모드를 채용한 메모리는 기입 동작을 수행하면서 동시에 독출 동작을 수행할 수 있기 때문에 일련의 독출/기입 동작들을 수행하는데 소요되는 시간이 단축된다. 그러나, "read-while-write" 모드를 구현하기 위해서 다양한 주변 회로들이 메모리 내에 구비되어야 하고, 메모리 레이아웃 또한 변경되어야만 한다. 또한, 전류 소모가 많은 프로그램 동작동안 노이즈에 의해 독출 동작이 영향을 받을 수 있다.
따라서 본 발명의 목적은, 불휘발성 메모리가 기입 동작을 수행하는 중에 다음 명령이 수신될 때 불휘발성 메모리가 입력되는 명령을 수행할 수 있는 지의 여부를 외부로 알려주는 불휘발성 메모리 및 그의 제어 방법을 제공하는데 있다.
불휘발성 메모리가 기입 동작을 수행하는 중에 프로세서에 의해서 다음 명령이 불휘발성 메모리로 수신될 때 불휘발성 메모리가 입력되는 명령을 수행할 수 있는 지의 여부를 프로세서로 알려주는 정보 처리 장치 및 정보 처리 장치의 제어 방법을 제공하는데 있다.
불휘발성 메모리가 기입 동작을 수행하는 중에 프로세서에 의해서 다음 명령이 불휘발성 메모리로 수신될 때 불휘발성 메모리가 프로세서의 동작을 일시 중지시킬 수 있는 정보 처리 장치 및 정보 처리 장치의 제어 방법을 제공하는데 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 일 특징에 의하면, 불휘발성 메모리는, 메모리 셀 어레이; 그리고 상기 메모리 셀 어레이에 데이터가 기입되고 있는 동안 입력되는 명령을 수행할 수 있는 지의 여부를 외부로 알려주는 제어기를 포함한다.
바람직한 실시예에 있어서, 상기 메모리 셀 어레이는 제 1 영역과 제 2 영역을 포함한다.
이 실시예에 있어서, 상기 제어기는, 상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안 상기 입력된 명령이 상기 제 1 영역에 대한 접근을 요구하는 명령일 때 상기 입력된 명령을 수행할 수 없음을 외부로 알려준다.
이 실시예에 있어서, 상기 제 1 영역 및 상기 제 2 영역은 각각 데이터를 저장하기 위한 영역들이다. 상기 제어기는, 상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안 상기 입력된 명령이 상기 제 2 영역에 대한 기입을 요구하는 명령일 때 상기 입력된 명령을 수행할 수 없음을 외부로 알려준다. 또한, 상기 제어기는, 상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안 상기 입력된 명령이 상기 제 2 영역으로부터 데이터를 독출하기 위한 명령일 때 상기 기입 동작과 병행해서 상기 입력된 명령이 수행될 수 있도록 제어한다.
바람직한 실시예에 있어서, 상기 제 1 영역은 데이터를 저장하기 위한 영역이고, 상기 제 2 영역은 프로그램 코드를 저장하기 위한 영역이다.
바람직한 실시예에 있어서, 상기 제어기는, 상기 메모리 셀 어레이에 데이터가 기입되고 있는 동안 기입 상태 정보를 외부로 알려주고, 상기 메모리 셀 어레이에 데이터를 기입하는 동작이 완료됨을 외부로 알려준다.
본 발명의 다른 특징에 따른 정보 처리 장치는: 프로세서 유닛 그리고 불휘발성 메모리를 포함한다. 상기 불휘발성 메모리는, 메모리 셀 어레이 및 상기 메모리 셀 어레이에 데이터가 기입되고 있는 동안 상기 프로세서 유닛으로부터 입력되는 명령을 수행할 수 있는 지의 여부를 상기 프로세서 유닛으로 알려주는 제어기를 포함한다.
본 발명의 또다른 특징에 따른 정보 처리 장치는 프로세서 유닛 그리고 불휘발성 메모리를 포함한다. 상기 프로세서 유닛은, 프로세서 그리고 상기 프로세서 의 동작에 필요한 클럭 신호를 발생하되, 클럭 디세이블 신호에 응답해서 상기 클럭 신호의 발생을 중지하는 클럭 발생기를 포함하며, 상기 불휘발성 메모리는, 메모리 셀 어레이 및 상기 메모리 셀 어레이에 데이터가 기입되고 있는 동안 상기 프로세서 유닛으로부터 입력되는 명령을 수행할 수 없을 때 상기 프로세서의 동작을 중지시키기 위해 상기 클럭 디세이블 신호를 활성화하는 제어기를 포함한다.
본 발명의 다른 특징에 의하면, 메모리 셀 어레이를 포함하는 불휘발성 메모리 그리고 프로세서 유닛을 구비한 정보 처리 장치의 제어 방법은: 상기 불휘발성 메모리가 기입 동작을 수행하는 동안 상기 프로세서 유닛에 의해서 상기 불휘발성 메모리로 명령을 전송하는 제 1 단계 그리고 상기 불휘발성 메모리가 수신된 명령을 수행할 수 없을 때 상기 프로세서 유닛의 동작을 중지시키기 위한 신호를 상기 프로세서 유닛으로 전송하는 제 2 단계를 포함한다.
바람직한 실시예에 있어서, 상기 프로세서 유닛은, 동작에 필요한 클럭 신호를 발생하는 클럭 발생기를 포함하며, 상기 프로세서 유닛의 동작을 중지시키기 위한 신호는 클럭 신호의 발생을 중지시키기 위한 클럭 디세이블 신호이다.
상기 제 2 단계는, 상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안, 상기 수신된 명령이 상기 제 1 영역에 대한 접근을 요구하는 명령일 때 상기 불휘발성 메모리가 상기 클럭 디세이블 신호를 활성화하는 단계를 포함한다.
상기 제 2 단계는, 상기 메모리 셀 어레이에 데이터가 기입되고 있는 동안 비지 신호를 활성화하는 단계를 포함한다.
상기 프로세서 유닛은, 상기 비지 신호의 활성 상태 동안 상기 명령이 상기 불휘발성 메모리에 데이터를 기입하기 위한 명령일 때 상기 명령을 저장하기 위한 모드 컨트롤러를 포함한다. 상기 제어 방법은, 상기 클럭 디세이블 신호가 활성 상태인 동안 상기 비지 신호가 비활성 상태로 천이하면 상기 불휘발성 메모리가 클럭 웨이크업 신호를 활성화하는 단계를 더 포함한다.
(실시예)
이하 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 정보 처리 장치를 보여주는 도면이다. 도 1을 참조하면, 정보 처리 장치(100)는 프로세서 유닛(110)과 불휘발성 메모리(120)를 포함한다. 본 발명의 정보 처리 장치(100)는 컴퓨터 시스템, 스마트 카드, PDA(Personal Digital Assistant), 휴대폰 등 프로세서와 불휘발성 메모리를 포함하는 모든 장치들에 응용될 수 있다. 또한, 불휘발성 메모리는 EEPROM, EPROM 및 플래쉬 메모리와 같이 전원이 차단되어도 저장된 내용을 유지할 수 있는 메모리들 중 하나이다.
프로세서 유닛(110)은 데이터 버스(115)와 어드레스 버스(116)를 통하여 연결된 코드 메모리(111), 모드 컨트롤러(112) 및 프로세서(113), 그리고 클럭 발생기(114)를 포함한다.
코드 메모리(111)는 프로세서(113)에서 실행될 일련의 프로그램 코드들을 저장한다. 모드 컨트롤러(112)는 프로세서(113)에 의해서 제어되며, 불휘발성 메모 리(120)의 동작 상태에 따라서 프로세서(113)로부터 출력된(issued) 프로그램 명령(PGM)을 래치한다. 이 실시예에서, 모드 컨트롤러(112)가 프로그램 명령(PGM)을 래치하는 것으로서 설명되나, 모드 컨트롤러(112)는 프로그램 명령뿐만 아니라 소거 명령과 같이 프로세서의 1 클럭 주기 내에 동작을 완료할 수 없는 메모리 제어 명령들을 래치시키는 기능을 수행하도록 구현될 수 있다. 모드 컨트롤러(112)의 구체적인 구성이 도 2에 도시되어 있다.
도 2를 참조하면, 모드 컨트롤러(112)는 플립플롭들(150, 151)과 로직 회로(152)그리고 앤드 게이트(153)를 포함한다. 앤드 게이트(153)는 클럭 신호(CLK), 비지 신호(WBUSY), 기입 신호(BWRITE) 그리고 제어 신호(M_CTRL)를 받아들이고, 클럭 신호(M_CLK)를 출력한다. 플립플롭(150)은 앤드 게이트(153)로부터 출력되는 클럭 신호(M_CLK)에 응답해서 프로세서(113)로부터의 프로그램 명령 신호(P_PGM)를 래치한다. 플립플롭(150)은 리셋 신호(RESET)에 응답해서 리셋된다. 로직 회로(152)는 클럭 신호(CLK), 비지 신호(WBUSY), 기입 신호(BWRITE) 그리고 제어 신호(M_CTRL)에 응답해서 펄스 신호를 출력한다. 제어 신호(M_CTRL)는 프로세서(113)에 의해서 모드 컨트롤러(112)가 선택될 때 활성화되는 신호이다. 플립플롭(151)은 로직 회로(152)로부터 출력되는 펄스 신호에 응답해서 플립플롭(150)으로부터의 출력 신호를 래치하고, 프로그램 명령 신호(PGM)로서 출력한다. 플립플롭(151)은 불휘발성 메모리(120)로부터의 비지 신호(WBUSY)의 폴링 에지에서 리셋된다. 모드 컨트롤러(112)로부터 출력되는 프로그램 명령 신호(PGM)는 불휘발성 메모리(120)로 제공된다. 모드 컨트롤러(112)의 구체적인 동작은 추후 상세히 설명된다.
프로세서(113)는 코드 메모리(111)에 저장된 프로그램 코드들을 순차적으로 독출해서 실행한다. 클럭 발생기(114)는 코드 메모리, 모드 컨트롤러(112) 그리고 프로세서(113)에서 필요로 하는 클럭 신호(CLK)를 발생한다. 또한, 클럭 발생기(114)는 불휘발성 메모리(120)로부터의 클럭 디세이블 신호(CLK_DSAB)가 활성화되면 클럭 신호(CLK)의 발생을 중지하고, 클럭 웨이크업 신호(CLK_WK)가 활성화되면 클럭 신호(CLK)의 발생을 재개한다.
프로세서 유닛(110)은 불휘발성 메모리(120)로 명령 신호들(PGM, ERA, BWRITE), 클럭 신호(CLK), 칩 선택 신호(CS), 데이터 신호(DAT) 그리고 어드레스 신호(ADR)를 제공한다.
불휘발성 메모리(120)는 프로세서 유닛(110)으로부터 입력되는 제어 신호들 예를 들면, 프로그램 명령(PGM), 소거 명령(ERA), 클럭 신호, 칩 선택 신호(CS), 기입 신호(BWRITE) 그리고 데이터 신호(DAT) 및 어드레스 신호(ADR)에 응답해서 독출/기입/소거 동작을 수행한다. 불휘발성 메모리(120)는 두 개의 메모리 뱅크들(121, 122)을 포함한다. 이 실시예에서, 불휘발성 메모리(120)는 두 개의 메모리 뱅크들을 포함하는 것으로 설명되나, 메모리 뱅크들의 수는 필요에 따라서 다양하게 변경될 수 있다. 메모리 뱅크들(121, 122) 각각은 행들과 열들로 배열된 메모리 셀들을 포함한다. 바람직한 실시예에서, 뱅크들(121, 122)은 모두 데이터 메모리로서 사용된다. 불휘발성 메모리(120)는, 뱅크0(121)의 행들을 선택하기 위한 X-디코더(128), 열들을 선택하기 위한 Y-디코더(125), 디코더들(128, 125)에 의해 선택된 뱅크0(121)의 메모리 셀에 저장된 데이터를 감지 및 증폭하는 감지 증폭기 (128)를 포함한다. 또한, 불휘발성 메모리(120)는, 뱅크1(122)의 행들을 선택하기 위한 X-디코더(131), 열들을 선택하기 위한 Y-디코더(127), 디코더들(131, 127)에 의해 선택된 뱅크1(122)의 메모리 셀에 저장된 데이터를 감지 및 증폭하는 감지 증폭기(127)를 포함한다.
고전압 발생기(130)는 뱅크들(121, 122)에 데이터를 기입(프로그램 또는 소거)할 때 필요한 고전압들을 발생한다. 기입 버퍼(126)는 뱅크들(121, 122)에 프로그램될 데이터를 임시 저장한다. 고전압 발생기(130)와 기입 버퍼(126)는 다른 회로 구성들에 비해 회로 면적이 크므로, 각 뱅크마다 별도로 구비하지 않고 메모리(130) 내에 하나씩 구비하며 뱅크들(121, 122)에 공통으로 사용한다. 그러므로, 기입 동작은 특정 시점에 뱅크들(121, 122) 중 어느 한 뱅크에서만 행해질 수 있다. 만일 고전압 발생기(130)와 기입 버퍼(126)를 뱅크들의 수만큼 구비한다면 어느 한 뱅크에 기입 동작을 수행하는 중에 다른 뱅크에 기입 동작을 수행할 수 있다.
제어기(129)는 기입 시퀀스 컨트롤러(139)로부터의 제어 신호와 어드레스 선택기(133)로부터의 어드레스 신호에 응답해서 프로세서 유닛(110)으로부터의 데이터 신호(DAT)가 뱅크0(121)에 저장되도록 X-디코더(128), Y-디코더(123), 기입 버퍼(126) 및 고전압 발생기(130)를 제어한다. 제어기(132)는 기입 시퀀스 컨트롤러(139)로부터의 제어 신호와 어드레스 선택기(138)로부터의 어드레스 신호에 응답해서 프로세서 유닛(110)으로부터의 데이터 신호(DAT)가 뱅크1(122)에 저장되도록 X-디코더(131), Y-디코더(124), 기입 버퍼(126) 및 고전압 발생기(130)를 제어한다.
독출 어드레스 버퍼들(134, 136)과 기입 어드레스 버퍼들(135, 137)은 프로세서 유닛(110)으로부터의 어드레스 신호(ADR)를 저장한다. 어드레스 선택기(133)는 기입 시퀀스 컨트롤러(139)로부터의 제어 신호에 응답해서 독출 어드레스 버퍼(134)와 기입 어드레스 버퍼(135) 중 어느 하나에 저장된 어드레스 신호를 컨트롤러(129)로 제공한다. 어드레스 선택기(138)는 기입 시퀀스 컨트롤러(139)로부터의 제어 신호에 응답해서 독출 어드레스 버퍼(136)와 기입 어드레스 버퍼(137) 중 어느 하나에 저장된 어드레스 신호를 컨트롤러(132)로 제공한다.
기입 시퀀스 컨트롤러(139)는 프로세서 유닛(110)으로부터의 제어 신호들(PGM, ERA, BWRITE), 칩 선택 신호(CS), 확인 신호(CONF) 및 클럭 신호(CLK)에 응답해서 어드레스 선택기들(133, 138)과 제어기들(129, 132)을 제어하기 위한 제어 신호들을 발생하며, 뱅크0(121) 또는 뱅크1(122)에 데이터를 기입하고 있는 동안 비지 신호(WBUSY)를 활성화한다. 비지 신호(WBUSY)는 상태 제어기(140)와 프로세서 유닛(110)의 모드 컨트롤러(112)로 제공된다.
상태 제어기(140)는 프로세서 유닛(110)으로부터의 제어 신호들(PGM, ERA, CS, BWRITE)과 기입 시퀀스 컨트롤러(139)로부터의 비지 신호(WBUSY)에 응답해서 프로세서 유닛(110)의 클럭 발생기(114)를 제어하기 위한 클럭 디세이블 신호(CLK_DSAB)와 클럭 웨이크업 신호(CLK_WK)를 발생한다. 상태 제어기(140)의 구체적인 동작은 구체적인 도 3 및 도 4에 도시된 예들을 참조하여 상세히 설명된다.
계속해서 도 3 및 도 4에 도시된 타이밍도들과 도 5에 도시된 플로우차트를 참조하여 도 1에 도시된 정보 처리 장치(100)의 동작이 설명된다.
도 3은 불휘발성 메모리(120)가 프로그램 동작을 수행 중에 프로세서 유닛(110)으로부터 프로그램 명령이 출력될 때 정보 처리 장치(100)에서 사용되는 신호들의 타이밍도이다.
프로세서(113)는 코드 메모리(111)로부터 독출된 명령이 프로그램 명령(P_PGM)인 것으로 해독되면 어드레스 버스(115)로 모드 컨트롤러(112)를 선택하기 위한 어드레스 신호를 출력한다. 프로세서(113)에 의해서 모드 컨트롤러(112)가 선택되면, 제어 신호(M_CLK)는 활성화된다. 로직 회로(152)는 제어 신호(M_CTRL)가 활성화되는 시점에 비지 신호(WBUSY)가 로우 레벨이므로 펄스 신호를 출력한다. 플립플롭(151)은 로직 회로(152)로부터의 펄스 신호에 응답해서 플립플롭(150)에 의해 래치된 신호를 클럭 신호(CLK)의 폴링 에지에 프로그램 신호(PGM)로서 출력한다.
칩 선택 신호(CS)가 활성화되면서 어드레스 버스(116)와 데이터 버스(115)에는 기입 어드레스와 기입 데이터가 각각 실리고, 이는 불휘발성 메모리(120)로 제공된다. 이 때, 프로그램 어드레스는 뱅크0(121)을 지정하기 위한 어드레스인 것으로 가정한다. 프로세서 유닛(110)으로부터의 어드레스 신호(ADR)는 불휘발성 메모리(120) 내 기입 어드레스 버퍼(135)에 저장된다.
어드레스 버스(115)와 데이터 버스(116)에는 프로세서(113)가 다음 명령을 수행할 수 있도록 오퍼레이션 코드와 데이터가 실린다. 프로세서(113)는 모드 컨트롤러(112)를 선택하기 위한 어드레스 신호를 다시 출력한다. 모드 컨트롤러(112)는 어드레스 신호에 응답해서 확인 신호(CONF)를 불휘발성 메모리(120)로 전 달한다.
시점 A에서 불휘발성 메모리(120)는 프로세서 유닛(110)으로부터 확인 신호(CONF)가 입력되면 비로소 프로그램 동작을 개시한다. 기입 시퀀스 컨트롤러(139)는 비지 신호(WBUSY)를 활성화한다. 기입 시퀀스 컨트롤러(139)의 제어에 따라서, 어드레스 선택기(133)는 기입 어드레스 버퍼(135)에 저장된 어드레스를 컨트롤러(129)로 제공한다. 컨트롤러(129)의 제어 하에 뱅크0(121)에 대한 프로그램 동작이 수행된다. 비지 신호(WBUSY)가 활성화 상태인 동안, 모드 컨트롤러(112)는 이후 프로세서(113)로부터 프로그램 명령이 출력될 때 이를 지연시킨다.
불휘발성 메모리(120)가 프로그램 동작을 수행하는 동안 프로세서 유닛(110)은 코드 메모리(111)로부터 다음 프로그램 코드를 독출해서 해독하고 실행하는 동작을 수행한다.
시점 B에서, 불휘발성 메모리(120)가 아직 뱅크0(121)에 대한 프로그램 동작을 수행하고 있는 동안, 프로세서(113)가 다음 프로그램 명령(P_PGM)을 출력하면 프로그램 명령(P_PGM)은 도 2에 도시된 플립플롭(150)에 래치된다.
시점 B와 시점 C 사이에, 프로세스(113)는 불휘발성 메모리(120)로 기입 어드레스를 출력하고, 칩 선택 신호(CS)를 활성화한다.
시점 C에서, 상태 컨트롤러(140)는 칩 선택 신호(CS)가 활성화될 때 기입 시퀀스 제어기(139)로부터의 비지 신호(WBUSY)가 활성 상태이고, 기입 신호(BWRITE)가 하이 레벨이면 클럭 디세이블 신호(CLK_DSAB)를 활성화한다. 불휘발성 메모리(120)가 기입 동작을 수행하고 있는 동안 칩 선택 신호(CS)와 기입 신호(BWRITE)가 각각 활성화되면 입력된 어드레스 신호(ADR)와 무관하게 프로세서(113)의 동작을 일시 중지시키기 위한 클럭 디세이블 신호(CLK_DSAB)가 활성화된다. 다시 말하면, 새로이 입력된 기입 어드레스(ADR)가 뱅크0(121)을 지정하든지 아니면 뱅크1(122)을 지정하든지 무관하게 프로세서(113)의 동작을 일시 중지시키기 위한 클럭 디세이블 신호(CLK_DSAB)가 활성화된다.
시점 C와 시점 D 사이에 뱅크0(121)에 대한 프로그램 동작이 완료되면 기입 시퀀스 컨트롤러(139)는 비지 신호(WBUSY)를 로우 레벨로 비활성화하고, 클럭 웨이크업 신호(CLK_WK)를 활성화한다. 모드 컨트롤러(112) 내 플립플롭(151)은 비지 신호(WBUSY)에 응답해서 리셋된다. 그러므로, 프로그램 신호(PGM)는 로우 레벨로 비활성화된다.
시점 D에, 상태 제어기(140)는 클럭 신호(CLK)의 로우 에지에서 클럭 디세이블 신호(CLK_DSAB)를 로우 레벨로 비활성화한다. 한편, 모드 컨트롤러(112)는 비지 신호(WBUSY)가 로우 레벨이므로 클럭 신호(CLK)의 폴링 에지에 플립플롭(150)에 래치된 신호를 프로그램 신호(PGM)로서 출력한다. 이후, 불휘발성 메모리(120)는 프로그램 동작을 수행한다.
상술한 바와 같이, 본 발명의 바람직한 실시예에 따른 불휘발성 메모리(120)는, 기입 동작을 수행하는 동안 외부로부터 명령이 수신되면 수신된 명령을 수행할 수 있는 지의 여부를 외부로 알려주기 위한 정보 신호(CLK_DSAB)를 활성/비활성화한다. 본 발명의 바람직한 실시예에 따른 정보 처리 장치(100)에 구비된 프로세서 유닛(110)은 정보 신호(CLK_DSAB)가 활성화될 때 프로세서(113)의 동작을 중지시킴 으로써 프로세서(113)의 오동작을 방지한다. 또한, 프로세서 유닛(110) 내 모드 컨트롤러(112)는 상기 명령이 기입 명령일 때 명령을 래치하고 있다가 불휘발성 메모리(120)가 기입 동작을 완료하면 기입 명령을 불휘발성 메모리(120)로 전송한다. 모드 컨트롤러(112)는 제 2 기입 명령을 래치하는 것은 프로세서(113)의 동작이 중지될 때 제 2 기입 명령이 파이프라인 시퀀스에서 사라지는 것을 방지하기 위함이다.
계속해서 도 4를 참조하여, 불휘발성 메모리(120)가 뱅크0(121)에 기입 동작을 수행 중에 뱅크0(121)에 대한 독출 명령이 수신될 때의 정보 처리 장치(100)의 동작이 설명된다.
도 4는 뱅크0(121)에 대한 기입 명령과 독출 명령이 순차적으로 출력될 때 정보 처리 장치(100)에서 사용되는 신호들의 타이밍도이다.
시점 E까지 정보 처리 장치(100)의 동작은 도 3에서 설명한 바와 동일하므로, 시점 F부터 설명된다. 단, 기입 어드레스는 뱅크0(121) 내의 메모리 셀을 지정하는 것으로 가정한다.
시점 F에서, 시점 C에서, 상태 컨트롤러(140)는 칩 선택 신호(CS)가 활성화될 때 기입 시퀀스 제어기(139)로부터의 비지 신호(WBUSY)가 활성 상태이고, 기입 신호(BWRITE)가 로우 레벨이면 입력된 독출 어드레스(ADR)를 확인한다. 이전 프로그램 명령에 의해 뱅크0(121) 내의 메모리 셀이 프로그램되고 있으므로, 독출 어드레스(ADR)가 뱅크0(121)을 지정하고 있다면 클럭 디세이블 신호(CLK_DSAB)를 활성화해서 프로세서(113)의 동작을 일시 중지시킨다. 반면, 독출 어드레스(ADR)가 뱅 크1(122)을 지정하고 있다면 뱅크0(121)에 대한 프로그램 동작과 병행해서 뱅크1(122)에 대한 독출 동작을 수행할 수 있다. 도 4에 도시된 예는 독출 어드레스(ADR)가 뱅크0(121)을 지정하고 있는 것을 가정한 것이다.
시점 F와 시점 G 사이에, 뱅크0(121)에 대한 프로그램 동작이 완료되면 기입 시퀀스 컨트롤러(139)는 비지 신호(WBUSY)를 로우 레벨로 비활성화하고, 클럭 웨이크업 신호(CLK_WK)를 활성화한다. 모드 컨트롤러(112) 내 플립플롭(151)은 비지 신호(WBUSY)에 응답해서 리셋된다. 그러므로, 프로그램 신호(PGM)는 로우 레벨로 비활성화된다. 어드레스 버스에 실린 독출 어드레스(ADR)는 독출 어드레스 버퍼(134)에 저장된다.
시점 G에, 상태 제어기(140)는 클럭 신호(CLK)의 로우 에지에서 클럭 디세이블 신호(CLK_DSAB)를 로우 레벨로 비활성화한다. 그러므로, 클럭 발생기(114)는 클럭 신호(CLK) 발생을 재개하고, 프로세서(113)는 클럭 신호(CLK)에 동기해서 동작한다.
한편, 어드레스 선택기(133)는 기입 시퀀스 제어기(139)가 기입 동작 종료를 알려옴에 따라서 독출 어드레스 버퍼(134)에 저장된 독출 어드레스를 제어기(129)로 제공한다. 제어기(129)는 어드레스 선택기(133)로부터 제공된 독출 어드레스가 지정하는 메모리 셀에 저장된 데이터가 감지 증폭기(125)에 의해서 감지되도록 제어한다. 감지 증폭기(125)에 의해서 감지된 데이터는 프로세서 유닛(110)으로 전달된다.
상술한 바와 같이 본 발명의 바람직한 실시예에 따른 정보 처리 장치(100)에 서, 불휘발성 메모리(120)가 프로세서 유닛(110)으로부터의 기입(프로그램/소거) 명령에 응답해서 뱅크0(121)에 대한 기입 동작을 수행하고 있는 동안 프로세서 유닛(110)으로부터 불휘발성 메모리(120)로 뱅크0(121)에 대한 독출을 수행하기 위한 독출 어드레스가 전달될 때 클럭 발생기(114)의 클럭 발생을 중지시킴으로써 프로세서(113)의 동작을 일시 중지시킨다. 불휘발성 메모리(120)는 기입 동작을 완료하면 독출 어드레스에 저장된 데이터를 독출해서 프로세서 유닛(110)으로 제공한다.
만일, 불휘발성 메모리(120)가 프로세서 유닛(110)으로부터의 기입(프로그램/소거) 명령에 응답해서 뱅크0(121)에 대한 기입 동작을 수행하고 있는 동안 프로세서 유닛(110)으로부터 불휘발성 메모리(120)로 뱅크1(122)에 대한 독출을 수행하기 위한 독출 어드레스가 전달될 때 불휘발성 메모리(120)는 프로세서(113)의 동작을 중지시키지 않고, 뱅크0(121)에 대한 기입 동작과 병렬로 뱅크1(122)에 대한 독출 동작을 수행할 수 있다.
이 실시예에서는, 뱅크0(121)에 대한 기입 동작 중에 뱅크0(121)에 대한 독출 요구 또는 뱅크1(122)에 대한 독출 요구가 있는 경우에 한해 설명하였으나, 뱅크1(122)에 대한 기입 동작 중에 뱅크0(121)에 대한 독출 요구 또는 뱅크1(122)에 대한 독출 요구가 있는 경우에도 동일한 방법으로 제어가 수행된다. 즉, 불휘발성 메모리 장치는, 어느 한 뱅크에 대한 기입 동작이 수행되고 있을 때 기입 동작이 수행되는 뱅크와 동일한 뱅크에 대한 독출 요구가 있으면 프로세서(113)의 동작을 일시 중지시키고, 기입 동작이 수행되는 뱅크와 다른 뱅크에 대한 독출 요구가 있 으면 기입 동작과 병행해서 독출 동작을 수행한다.
도 1에 도시된 정보 처리 장치(100)에서, 프로그램 코드는 프로세서 유닛(110) 내 코드 메모리(111)에 저장되어 있고, 데이터는 불휘발성 메모리(120) 내 뱅크들(121, 122)에 저장된다. 계속해서 도 4에서는, 프로세서 유닛에 메모리가 구비되지 않고, 불휘발성 메모리 내 뱅크0은 데이터 메모리로 그리고 뱅크1은 코드 메모리로 사용되는 경우가 도시되고 설명된다.
도 5에 도시된 정보 처리 장치(200)에서 도 1에 도시된 정보 처리 장치(100)와 동일한 구성 요소는 동일한 인출 부호를 병기한다. 도 4에 도시된 정보 처리 장치(200)의 동작은 도 1에 도시된 정보 처리 장치(100)와 유사하게 동작한다. 다만, 코드 메모리가 프로세서 유닛(210) 내에 구비되지 않고 불휘발성 메모리(220)의 뱅크1(222)로써 사용된다. 프로세서(113)는 코드 메모리(222)에서 독출된 프로그램 코드를 실행하며 데이터는 데이터 메모리(221)에 저장된다.
본 발명의 바람직한 실시예에 따른 정보 처리 장치(200)는 데이터 메모리(221)에 데이터를 기입하는 동안 프로세서(113)의 동작 중지없이 코드 메모리(222)로부터 다음 프로그램 코드를 독출할 수 있다. 그러므로, 불필요한 시간 낭비를 최소화할 수 있다.
도 6은 본 발명의 바람직한 실시예에 따른 불휘발성 메모리의 제어 수순을 보여주는 플로우차트이다. 이 실시예에서, 도 6은 도 1에 도시된 불휘발성 메모리(120)를 기준으로 설명하나, 도 5에 도시된 불휘발성 메모리(220)에도 적용될 수 있다.
단계 S300에서, 불휘발성 메모리(120)는 기입 동작 중 프로세서 유닛(110)으로부터 명령을 수신한다. 기입 동작 중 기입 시퀀스 제어기(139)는 비지 신호(WBUSY)를 활성화한다.
단계 S301에서, 불휘발성 메모리(120)의 상태 제어기(140)는 수신된 명령을 수행할 수 있는 지의 여부를 판별한다. 앞서 설명한 바와 같이, 뱅크0(121)에 데이터를 기입하는 중 수신된 명령이 뱅크0(121)을 액세스하고자 하는 명령인 경우 또는 뱅크1(122)에 데이터를 기입하고자 하는 명령인 경우 수신된 명령을 수행할 수 없다. 이 때, 제어는 단계 S302으로 진행한다.
단계 S302에서, 수신된 명령을 수행할 수 없음을 나타내는 정보 신호 즉, 클럭 디세이블 신호(CLK_DSAB)를 활성화한다.
단계 S301의 판별 결과, 수신된 명령을 수행할 수 있을 때 즉, 뱅크0(121)에 데이터를 기입하는 중 수신된 명령이 뱅크1(122)로부터 데이터를 독출하고자 하는 명령인 경우 그 제어는 단계 S303로 진행한다.
단계 S303에서, 불휘발성 메모리(120)는 기입 동작과 병행해서 수신된 명령을 수행한다.
단계 S304에서, 불휘발성 메모리(120)의 기입 시퀀스 제어기(139)는 기입 동작이 완료되었는 지의 여부를 판별하고 기입 동작이 완료되었으면 제어는 단계 S305로 진행한다.
단계 S305에서, 불휘발성 메모리(120)의 기입 시퀀스 제어기(139)는 비지 신호(WBUSY)를 로우 레벨로 비활성화한다. 한편, 상태 제어기(140)는 클럭 디세이블 신호(CLK_DSAB)가 활성 상태인 경우에는 비지 신호(WBUSY)가 비활성화됨에 따라서 클럭 웨이크업 신호(CLK_WK)를 활성화한다.
도 7은 본 발명의 바람직한 실시예에 따른 정보 처리 장치의 제어 수순을 보여주는 플로우차트이다. 도 7에 도시된 정보 처리 장치의 제어 수순은 도 1 및 도 5에 도시된 정보 처리 장치들 어디에도 적용될 수 있으나 본 명세서에서는 도 1에 도시된 정보 처리 장치(100)를 기준으로 설명한다.
단계 S400에서, 불휘발성 메모리(120)는 프로세서 유닛(110)으로부터 제 1 명령을 수신한다.
단계 S401에서, 기입 시퀀스 제어기(139)는 수신된 제 1 명령이 기입 명령인 지의 여부를 판별한다. 기입 명령인 지의 여부는 기입 신호(BWRITE)의 레벨에 따라 판별된다. 즉, 기입 시퀀스 제어기(139)는 칩 선택 신호(CS)가 활성화되는 시점에 기입 신호(BWRITE)가 하이 레벨이면 수신된 제 1 명령이 기입 명령인 것으로 판별하고, 기입 신호(BWRITE)가 로우 레벨이면 수신된 제 1 명령이 독출 명령인 것으로 판별한다.
판별 결과, 수신된 제 1 명령이 기입 명령이 아니면, 그 제어는 단계 S402로 진행된다. 단계 S402에서, 기입 시퀀스 제어기(139)는 프로세서(113)로부터 확인 신호(CONF)가 수신되면 제 1 명령이 수행되도록 어드레스 선택기(133)와 제어기(129)를 제어한다.
판별 결과, 수신된 제 1 명령이 기입 명령이면, 그 제어는 단계 S403으로 진행한다. 단계 S403에서, 기입 시퀀스 제어기(139)는 비지 신호(WBUSY)를 하이 레 벨로 활성하고, 수신된 기입 명령이 수행되도록 어드레스 선택기(133)와 제어기(129)를 제어한다. 활성화된 비지 신호(WBUSY)는 상태 제어기(140)와 프로세서 유닛(110) 내 모드 컨트롤러(112)로 제공된다.
단계 S404에서, 불휘발성 메모리(120)가 수신된 제 1 명령 즉, 기입 명령을 수행하고 있는 동안 제 2 명령을 수신한다.
단계 S405에서, 기입 시퀀스 제어기(139)는 수신된 제 2 명령이 기입 동작이 수행되고 있는 메모리 영역 즉, 뱅크에 대한 접근 요구 명령인 지의 여부를 판별한다. 뱅크에 대한 접근 요구 명령은 기입, 소거 및 독출 중 어느 한 명령이다. 즉, 칩 선택 신호(CS)가 활성화될 때 입력되는 어드레스 신호(ADR)가 기입 동작이 수행되고 있는 메모리 영역을 지정하고 있으면 수신된 제 2 명령이 기입 동작이 수행되고 있는 뱅크에 대한 접근 요구 명령인 것으로 판별된다. 판별 결과, 수신된 제 2 명령이 기입 동작이 수행되고 있는 뱅크에 대한 접근 요구 명령이면 그 제어는 단계 S407로 진행하고, 그렇지 않으면 단계 S406으로 진행한다.
단계 S406에서, 기입 시퀀스 제어기(139)는 수신된 제 2 명령이 기입 동작이 수행되고 있는 메모리 영역 이외의 다른 메모리 영역에 대한 기입 명령인 지의 여부를 판별한다. 즉, 칩 선택 신호(CS)가 활성화될 때 기입 신호(BWRITE)가 하이 레벨이고, 기입 어드레스(ADR)가 제 1 명령이 수행되고 있는 메모리 영역이 아닌 다른 영역을 지정하고 있을 때 그 제어는 단계 S407로 진행한다. 반면, 기입 시퀀스 제어기(139)는 수신된 제 2 명령이 기입 동작이 수행되고 있는 메모리 영역 이외의 다른 메모리 영역에 대한 독출 명령일 때 그 제어는 단계 S411로 진행한다.
그러므로, 단계 S407로 진행하는 경우는 수신된 제 2 명령이, 기입 명령이 수행 중인 메모리 영역 또는 다른 메모리 영역에 대한 기입 명령인 경우이다.
단계 S407에서, 기입 명령인 제 2 명령이 모드 컨트롤러(112)의 플립플롭(150)에 래치된다.
단계 S408에서, 상태 제어기(140)는 클럭 발생기(114)의 클럭 발생을 중지시키기 위한 클럭 디세이블 신호(CLK_DSAB)를 활성화한다. 따라서, 프로세서(113)의 동작은 중지된다.
단계 S409에서, 기입 시퀀스 제어기(139)는 제 1 명령에 의한 기입 동작이 완료되었는 지의 여부를 판별한다. 기입 동작이 완료되면, 기입 시퀀스 제어기(139)는 비지 신호(WBUSY)를 로우 레벨로 비활성화한다.
단계 S410에서, 상태 제어기(140)는 비지 신호(WBUSY)가 비활성화됨에 따라서 클럭 발생기(114)의 클럭 발생이 재개되도록 클럭 웨이크업 신호(CLK_WK)를 활성화한다. 그러므로, 프로세서(113)는 다시 클럭 신호(CLK)를 공급받아 동작하게 된다.
단계 S411에서, 모드 컨트롤러(112)는 플립플롭(150)에 래치되었던 제 2 명령을 불휘발성 메모리(120)로 전달한다. 불휘발성 메모리(120)는 제 2 명령을 수행한다.
예시적인 바람직한 실시예를 이용하여 본 발명을 설명하였지만, 본 발명의 범위는 개시된 실시예들에 한정되지 않는다는 것이 잘 이해될 것이다. 오히려, 본 발명의 범위에는 다양한 변형 예들 및 그 유사한 구성들이 모두 포함될 수 있도록 하려는 것이다. 따라서, 청구범위는 그러한 변형 예들 및 그 유사한 구성들 모두를 포함하는 것으로 가능한 폭넓게 해석되어야 한다.
상술한 바와 같은 본 발명에 의하면, 불휘발성 메모리가 제 1명령에 응답해서 제 1 메모리 영역에 대한 기입 동작을 수행하고 있는 동안, 제 1 메모리 영역에 대한 접근 요구 또는 제 2 메모리 영역에 대한 기입을 위한 제 2 명령이 발생하면, 프로세서의 동작을 일시 중지시킨다. 특히, 제 2 명령이 기입 명령이면 제 2 명령을 모드 컨트롤러에 래치한다. 제 1 명령이 완료되면 프로세서의 동작을 재개시키고, 제 2 명령을 수행한다. 그러므로, 불휘발성 메모리가 기입 동작을 수행하고 있는 동안 프로세서가 불휘발성 메모리에 대한 접근을 요청함에 따른 프로세서의 오동작을 방지할 수 있다

Claims (51)

  1. 메모리 셀 어레이; 그리고
    상기 메모리 셀 어레이에 데이터가 기입되고 있는 동안 입력되는 명령을 수행할 수 있는 지의 여부를 외부로 알려주는 제어기를 포함하는 불휘발성 메모리.
  2. 제 1 항에 있어서,
    상기 메모리 셀 어레이는 제 1 영역과 제 2 영역을 포함하는 불휘발성 메모리.
  3. 제 2 항에 있어서,
    상기 제어기는,
    상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안 상기 입력된 명령이 상기 제 1 영역에 대한 접근을 요구하는 명령일 때 상기 입력된 명령을 수행할 수 없음을 외부로 알려주는 불휘발성 메모리.
  4. 제 3 항에 있어서,
    상기 제 1 영역 및 상기 제 2 영역은 각각 데이터를 저장하기 위한 영역들인 불휘발성 메모리.
  5. 제 4 항에 있어서,
    상기 제어기는,
    상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안 상기 입력된 명령이 상기 제 2 영역에 대한 기입을 요구하는 명령일 때 상기 입력된 명령을 수행할 수 없음을 외부로 알려주는 불휘발성 메모리.
  6. 제 5 항에 있어서,
    상기 제어기는,
    상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안 상기 입력된 명령이 상기 제 2 영역으로부터 데이터를 독출하기 위한 명령일 때 상기 기입 동작과 병행해서 상기 입력된 명령이 수행될 수 있도록 제어하는 불휘발성 메모리.
  7. 제 3 항에 있어서,
    상기 제 1 영역은 데이터를 저장하기 위한 영역이고, 상기 제 2 영역은 프로그램 코드를 저장하기 위한 영역인 불휘발성 메모리.
  8. 제 1 항에 있어서,
    상기 제어기는,
    상기 메모리 셀 어레이에 데이터가 기입되고 있는 동안 기입 상태 정보를 외 부로 알려주는 불휘발성 메모리.
  9. 제 8 항에 있어서,
    상기 제어기는,
    상기 메모리 셀 어레이에 데이터를 기입하는 동작이 완료됨을 외부로 알려주는 불휘발성 메모리.
  10. 프로세서 유닛; 그리고
    불휘발성 메모리를 포함하되;
    상기 불휘발성 메모리는,
    메모리 셀 어레이; 및
    상기 메모리 셀 어레이에 데이터가 기입되고 있는 동안 상기 프로세서 유닛으로부터 입력되는 명령을 수행할 수 있는 지의 여부를 상기 프로세서 유닛으로 알려주는 제어기를 포함하는 정보 처리 장치.
  11. 제 10 항에 있어서,
    상기 메모리 셀 어레이는 제 1 영역과 제 2 영역을 포함하는 정보 처리 장치.
  12. 제 11 항에 있어서,
    상기 제어기는,
    상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안 상기 입력된 명령이 상기 제 1 영역에 대한 접근을 요구하는 명령일 때 상기 입력된 명령을 수행할 수 없음을 상기 프로세서 유닛으로 알려주는 정보 처리 장치.
  13. 제 12 항에 있어서,
    상기 제 1 영역 및 상기 제 2 영역은 각각 데이터를 저장하기 위한 영역들인 정보 처리 장치.
  14. 제 13 항에 있어서,
    상기 제어기는,
    상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안 상기 입력된 명령이 상기 제 2 영역에 대한 기입을 요구하는 명령일 때 상기 입력된 명령을 수행할 수 없음을 상기 프로세서 유닛으로 알려주는 정보 처리 장치.
  15. 제 14 항에 있어서,
    상기 제어기는,
    상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안 상기 입력된 명령이 상기 제 2 영역으로부터 데이터를 독출하기 위한 명령일 때 상기 기입 동작과 병행해서 상기 입력된 명령이 수행되도록 제어하는 정보 처리 장치.
  16. 제 12 항에 있어서,
    상기 제 1 영역은 데이터를 저장하기 위한 영역이고, 상기 제 2 영역은 프로그램 코드를 저장하기 위한 영역인 정보 처리 장치.
  17. 제 1 항에 있어서,
    상기 제어기는,
    상기 메모리 셀 어레이에 데이터가 기입되고 있는 동안 기입 상태 정보를 상기 프로세서 유닛으로 알려주는 정보 처리 장치.
  18. 제 8 항에 있어서,
    상기 제어기는,
    상기 메모리 셀 어레이에 데이터를 기입하는 동작이 완료됨을 상기 프로세서 유닛으로 알려주는 정보 처리 장치.
  19. 프로세서 유닛; 그리고
    불휘발성 메모리를 포함하되;
    상기 프로세서 유닛은,
    프로세서; 그리고
    상기 프로세서의 동작에 필요한 클럭 신호를 발생하되, 클럭 디세이블 신호 에 응답해서 상기 클럭 신호의 발생을 중지하는 클럭 발생기를 포함하며;
    상기 불휘발성 메모리는,
    메모리 셀 어레이; 및
    상기 메모리 셀 어레이에 데이터가 기입되고 있는 동안 상기 프로세서 유닛으로부터 입력되는 명령을 수행할 수 없을 때 상기 프로세서의 동작을 중지시키기 위해 상기 클럭 디세이블 신호를 활성화하는 제어기를 포함하는 정보 처리 장치.
  20. 제 19 항에 있어서,
    상기 메모리 셀 어레이는 제 1 영역과 제 2 영역을 포함하는 정보 처리 장치.
  21. 제 20 항에 있어서,
    상기 제어기는,
    상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안 상기 입력된 명령이 상기 제 1 영역에 대한 접근을 요구하는 명령일 때 상기 클럭 디세이블 신호를 활성화하는 정보 처리 장치.
  22. 제 21 항에 있어서,
    상기 제 1 영역 및 상기 제 2 영역은 각각 데이터를 저장하기 위한 영역들인 정보 처리 장치.
  23. 제 22 항에 있어서,
    상기 제어기는,
    상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안 상기 입력된 명령이 상기 제 2 영역에 대한 기입을 요구하는 명령일 때 상기 클럭 디세이블 신호를 활성화하는 정보 처리 장치.
  24. 제 21 항에 있어서,
    상기 제 1 영역은 데이터를 저장하기 위한 영역이고, 상기 제 2 영역은 프로그램 코드를 저장하기 위한 영역인 정보 처리 장치.
  25. 제 21항에 있어서,
    상기 제어기는,
    상기 메모리 셀 어레이에 데이터가 기입되고 있는 동안 활성 상태를 유지하는 비지 신호를 출력하는 정보 처리 장치.
  26. 제 25 항에 있어서,
    상기 프로세서 유닛은,
    상기 비지 신호의 활성 상태 동안 상기 명령을 저장하기 위한 모드 컨트롤러를 포함하는 정보 처리 장치.
  27. 제 26 항에 있어서,
    상기 클럭 발생기는,
    클럭 웨이크업 신호에 응답해서 클럭 발생을 재개하는 정보 처리 장치.
  28. 제 27 항에 있어서,
    상기 제어기는,
    상기 클럭 디세이블 신호가 활성 상태인 동안 상기 비지 신호가 비활성 상태로 천이하면 상기 클럭 웨이크업 신호를 활성화하는 정보 처리 장치.
  29. 제 28 항에 있어서,
    상기 모드 컨트롤러는,
    상기 비지 신호가 활성 상태에서 비활성 상태로 천이할 때 상기 저장된 명령을 상기 불휘발성 메모리로 전송하는 정보 처리 장치.
  30. 기입 명령을 수신하는 제 1 단계와;
    상기 기입 명령을 수행하는 동안 입력되는 명령을 수행할 수 있는 지의 여부를 외부로 알려주는 제 2 단계를 포함하는 불휘발성 메모리의 제어 방법.
  31. 제 30 항에 있어서,
    상기 메모리 셀 어레이는 제 1 영역과 제 2 영역을 포함하는 불휘발성 메모리의 제어 방법.
  32. 제 30 항에 있어서,
    상기 제 2 단계는,
    상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안, 상기 입력된 명령이 상기 제 1 영역에 대한 접근을 요구하는 명령일 때 상기 입력된 명령을 수행할 수 없음을 외부로 알려주는 단계를 포함하는 불휘발성 메모리의 제어 방법.
  33. 제 32 항에 있어서,
    상기 제 1 영역 및 상기 제 2 영역은 각각 데이터를 저장하기 위한 영역들인 불휘발성 메모리의 제어 방법.
  34. 제 33 항에 있어서,
    상기 제2 단계는,
    상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안, 상기 입력된 명령이 상기 제 2 영역에 대한 기입을 요구하는 명령일 때 상기 입력된 명령을 수행할 수 없음을 외부로 알려주는 단계를 포함하는 불휘발성 메모리의 제어 방법.
  35. 제 34 항에 있어서,
    상기 제 2 단계는,
    상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안, 상기 입력된 명령이 상기 제 2 영역으로부터 데이터를 독출하기 위한 명령일 때 상기 기입 동작과 병행해서 상기 입력된 명령이 수행될 수 있도록 제어하는 단계를 포함하는 불휘발성 메모리.
  36. 제 32 항에 있어서,
    상기 제 1 영역은 데이터를 저장하기 위한 영역이고, 상기 제 2 영역은 프로그램 코드를 저장하기 위한 영역인 불휘발성 메모리의 제어 방법.
  37. 제 32 항에 있어서,
    상기 제 2 단계는,
    상기 메모리 셀 어레이에 데이터가 기입되고 있는 동안 기입 상태 정보를 외부로 알려주는 단계를 더 포함하는 불휘발성 메모리의 제어 방법.
  38. 제 37 항에 있어서,
    상기 제 2 단계는,
    상기 메모리 셀 어레이에 데이터를 기입하는 동작이 완료됨을 외부로 알려주 는 단계를 더 포함하는 불휘발성 메모리의 제어 방법.
  39. 메모리 셀 어레이를 포함하는 불휘발성 메모리 그리고 프로세서 유닛을 구비한 정보 처리 장치의의 제어 방법에 있어서:
    상기 불휘발성 메모리가 기입 동작을 수행하는 동안 상기 프로세서 유닛에 의해서 상기 불휘발성 메모리로 명령을 전송하는 제 1 단계; 그리고
    상기 불휘발성 메모리가 수신된 명령을 수행할 수 없을 때 상기 프로세서 유닛의 동작을 중지시키기 위한 신호를 상기 프로세서 유닛으로 전송하는 제 2 단계를 포함하는 정보 처리 장치의 제어 방법.
  40. 제 39 항에 있어서,
    상기 메모리 셀 어레이는 제 1 영역과 제 2 영역을 포함하는 정보 처리 장치의 제어 방법.
  41. 제 40 항에 있어서,
    상기 프로세서 유닛은,
    동작에 필요한 클럭 신호를 발생하는 클럭 발생기를 포함하며;
    상기 프로세서 유닛의 동작을 중지시키기 위한 신호는 클럭 신호의 발생을 중지시키기 위한 클럭 디세이블 신호인 정보 처리 장치의 제어 방법.
  42. 제 41 항에 있어서,
    상기 제 2 단계는,
    상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안, 상기 수신된 명령이 상기 제 1 영역에 대한 접근을 요구하는 명령일 때 상기 불휘발성 메모리가 상기 클럭 디세이블 신호를 활성화하는 단계를 포함하는 정보 처리 장치의 제어 방법.
  43. 제 42 항에 있어서,
    상기 제 1 영역 및 상기 제 2 영역은 각각 데이터를 저장하기 위한 영역들인 정보 처리 장치의 제어 방법.
  44. 제 43 항에 있어서,
    상기 제 2 단계는,
    상기 메모리 셀 어레이의 상기 제 1 영역에 데이터가 기입되고 있는 동안, 상기 수신된 명령이 상기 제 2 영역에 대한 기입을 요구하는 명령일 때 상기 불휘발성 메모리가 상기 클럭 디세이블 신호를 활성화하는 단계를 포함하는 정보 처리 장치의 제어 방법.
  45. 제 44 항에 있어서,
    상기 제 2 단계는,
    상기 수신된 명령이 상기 제 2 영역으로부터 데이터를 독출하기 위한 명령일 때 상기 기입 동작과 병행해서 상기 수신된 명령이 수행될 수 있도록 제어하는 단계를 더 포함하는 정보 처리 장치의 제어 방법.
  46. 제 42 항에 있어서,
    상기 제 1 영역은 데이터를 저장하기 위한 영역이고, 상기 제 2 영역은 프로그램 코드를 저장하기 위한 영역인 정보 처리 장치의 제어 방법.
  47. 제 42 항에 있어서,
    상기 제 2 단계는,
    상기 메모리 셀 어레이에 데이터가 기입되고 있는 동안 비지 신호를 활성화하는 단계를 더 포함하는 정보 처리 장치의 제어 방법.
  48. 제 47 항에 있어서,
    상기 프로세서 유닛은,
    상기 비지 신호의 활성 상태 동안 상기 명령이 상기 불휘발성 메모리에 데이터를 기입하기 위한 명령일 때 상기 명령을 저장하기 위한 모드 컨트롤러를 포함하는 정보 처리 장치의 제어 방법.
  49. 제 48 항에 있어서,
    상기 클럭 디세이블 신호가 활성 상태인 동안 상기 비지 신호가 비활성 상태로 천이하면 상기 불휘발성 메모리가 클럭 웨이크업 신호를 활성화하는 단계를 더 포함하는 정보 처리 장치의 제어 방법.
  50. 제 49 항에 있어서,
    상기 클럭 발생기가 상기 클럭 웨이크업 신호에 응답해서 클럭 발생을 재개하는 단계를 더 포함하는 정보 처리 장치의 제어 방법.
  51. 제 50 항에 있어서,
    상기 비지 신호가 활성 상태에서 비활성 상태로 천이할 때 상기 모드 컨트롤러가 상기 저장된 명령을 상기 불휘발성 메모리로 전송하는 정보 처리 장치의 제어 방법.
KR1020040057335A 2004-07-22 2004-07-22 프로세서의 오동작을 방지할 수 있는 정보 처리 장치 KR20060009446A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020040057335A KR20060009446A (ko) 2004-07-22 2004-07-22 프로세서의 오동작을 방지할 수 있는 정보 처리 장치
US11/122,027 US20060020764A1 (en) 2004-07-22 2005-05-05 Information processing apparatus including non-volatile memory device, non-volatile memory device and methods thereof
DE102005035137A DE102005035137A1 (de) 2004-07-22 2005-07-22 Nichtflüchtiges Speicherbauelement, Informationsverarbeitungsvorrichtung und zugehöriges Steuerverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040057335A KR20060009446A (ko) 2004-07-22 2004-07-22 프로세서의 오동작을 방지할 수 있는 정보 처리 장치

Publications (1)

Publication Number Publication Date
KR20060009446A true KR20060009446A (ko) 2006-02-01

Family

ID=35658610

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040057335A KR20060009446A (ko) 2004-07-22 2004-07-22 프로세서의 오동작을 방지할 수 있는 정보 처리 장치

Country Status (3)

Country Link
US (1) US20060020764A1 (ko)
KR (1) KR20060009446A (ko)
DE (1) DE102005035137A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2916066A1 (fr) * 2007-05-10 2008-11-14 Samsung Electronics Co Ltd Procede pour faire fonctionner un dispositif a memoire et dispositif electronique
KR100914265B1 (ko) * 2007-05-10 2009-08-27 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 읽기 방법
US8291248B2 (en) * 2007-12-21 2012-10-16 Mosaid Technologies Incorporated Non-volatile semiconductor memory device with power saving feature
US9904476B2 (en) 2010-08-27 2018-02-27 Cisco Technology, Inc. Performing multiple write operations to a memory using a pending write queue/cache
TWI467579B (zh) * 2011-01-14 2015-01-01 Mstar Semiconductor Inc 電子裝置及其記憶體控制方法以及相關電腦可讀取儲存媒體
US8909860B2 (en) 2012-08-23 2014-12-09 Cisco Technology, Inc. Executing parallel operations to increase data access performance
US10168923B2 (en) 2016-04-26 2019-01-01 International Business Machines Corporation Coherency management for volatile and non-volatile memory in a through-silicon via (TSV) module
US20180058090A1 (en) * 2016-08-31 2018-03-01 Plano Molding Company Outdoor enclosure with natural visual characteristics
KR102360213B1 (ko) * 2017-09-06 2022-02-08 삼성전자주식회사 칩 사이즈를 감소한 저항성 메모리 장치 및 그 동작방법
US11404105B2 (en) * 2020-12-21 2022-08-02 Intel Corporation Write disturb refresh rate reduction using write history buffer

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4613935A (en) * 1983-02-02 1986-09-23 Couleur John F Method and apparatus for pipe line processing with a single arithmetic logic unit
JPH10177563A (ja) * 1996-12-17 1998-06-30 Mitsubishi Electric Corp フラッシュメモリ内蔵マイクロコンピュータ
US5996043A (en) * 1997-06-13 1999-11-30 Micron Technology, Inc. Two step memory device command buffer apparatus and method and memory devices and computer systems using same
US6182189B1 (en) * 1998-01-05 2001-01-30 Intel Corporation Method and apparatus for placing a memory in a read-while-write mode
EP1052646B1 (en) * 1999-05-11 2004-07-14 Fujitsu Limited Non-volatile semiconductor memory device permitting data-read operation performed during data-write/erase operation
JP4106811B2 (ja) * 1999-06-10 2008-06-25 富士通株式会社 半導体記憶装置及び電子装置
JP3492268B2 (ja) * 2000-01-18 2004-02-03 日本電気株式会社 半導体記憶装置
JP2001350738A (ja) * 2000-06-08 2001-12-21 Mitsubishi Electric Corp フラッシュメモリ内蔵マイクロコンピュータ
US6442076B1 (en) * 2000-06-30 2002-08-27 Micron Technology, Inc. Flash memory with multiple status reading capability
KR100420116B1 (ko) * 2000-08-31 2004-03-02 삼성전자주식회사 저전력 소모 씨디엠에이 모뎀 칩 설계를 위한 프로세서클럭 발생 회로 및 클럭 발생 방법
JP2003036681A (ja) * 2001-07-23 2003-02-07 Hitachi Ltd 不揮発性記憶装置
JP2003223792A (ja) * 2002-01-25 2003-08-08 Hitachi Ltd 不揮発性メモリ及びメモリカード
FI20035041A0 (fi) * 2003-03-31 2003-03-31 Nokia Corp Menetelmä tiedon tallentamiseksi muistiin, järjestelmä, elektroniikkalaite ja muistikortti

Also Published As

Publication number Publication date
US20060020764A1 (en) 2006-01-26
DE102005035137A1 (de) 2006-02-16

Similar Documents

Publication Publication Date Title
US20060020764A1 (en) Information processing apparatus including non-volatile memory device, non-volatile memory device and methods thereof
EP1994534B1 (en) Memory device distributed controller system
JP2004118826A (ja) フラッシュメモリを用いてブーティングされるシステム装置及びそのブーティング方法
KR100504696B1 (ko) 블록 소거/프로그램 정보를 저장하기 위한 상태 셀들의어레이를 포함한 낸드 플래시 메모리 장치
KR100604877B1 (ko) 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법
US5950222A (en) Microcomputer using a non-volatile memory
EP1073064A1 (en) Non-volatile memory with the functional capability of simultaneous modification of the contents and burst mode read or page mode read
US6442068B1 (en) Non-volatile memory with functional capability of burst mode read and page mode read during suspension of an operation of electrical alteration
EP0587445B1 (en) Semiconductor integrated circuit and IC card using the same
EP1423848B1 (en) Independent asynchronous boot block for synchronous non-volatile memory devices
JP4458822B2 (ja) フラッシュメモリ装置
US20040047181A1 (en) Write state machine architecture for flash memory internal instructions
US6618291B2 (en) Write state machine architecture for flash memory internal instructions
KR20070090376A (ko) 낸드 플래시 메모리 장치
KR100288417B1 (ko) 동기형 반도체 기억 장치
KR100878527B1 (ko) Nand 형 플래쉬 메모리 제어기와 제어기에서 사용되는클럭제어방법
KR100261557B1 (ko) 로칼시스템
JP3135770B2 (ja) 不揮発性半導体メモリおよびその不揮発性半導体メモリを使用した記憶装置
WO2002067268A1 (en) Write state machine architecture for flash memory internal instructions
JP2000276347A (ja) 携帯電子機器
JP2001057087A (ja) 電気的変更動作の中断期間にバーストモード読取りおよびページモード読取りの機能能力を有する非揮発性メモリ
KR20030062070A (ko) 플래시 메모리 액세스 제어 장치 및 방법
JPH03122752A (ja) パーソナルコンピュータ
JP2002367379A (ja) 不揮発性半導体記憶装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid