KR100625497B1 - 오버레이드 페이징된 메모리 제어 레지스터들을 구비한 데이터 처리 시스템 - Google Patents

오버레이드 페이징된 메모리 제어 레지스터들을 구비한 데이터 처리 시스템 Download PDF

Info

Publication number
KR100625497B1
KR100625497B1 KR1019990001622A KR19990001622A KR100625497B1 KR 100625497 B1 KR100625497 B1 KR 100625497B1 KR 1019990001622 A KR1019990001622 A KR 1019990001622A KR 19990001622 A KR19990001622 A KR 19990001622A KR 100625497 B1 KR100625497 B1 KR 100625497B1
Authority
KR
South Korea
Prior art keywords
memory
value
memory control
registers
page selector
Prior art date
Application number
KR1019990001622A
Other languages
English (en)
Other versions
KR19990068021A (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 프리스케일 세미컨덕터, 인크.
Publication of KR19990068021A publication Critical patent/KR19990068021A/ko
Application granted granted Critical
Publication of KR100625497B1 publication Critical patent/KR100625497B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules

Landscapes

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

Abstract

데이터 처리 시스템은 메모리 관리 인터페이스(14)를 통해 메모리(16-18)에 액세스하는 CPU(12)를 갖는다. 메모리 관리 인터페이스(14)는 비휘발성 메모리(16)의 모듈들을 메모리 맵 내의 규정된 페이징된 메모리 영역에 페이징(paging)하는 것을 지원한다. 비휘발성 메모리의 모듈들의 프로그래밍 및 이레이징을 제어하는 메모리 제어 레지스터들(80-87)은 규정된 메모리 레지스터 영역의 메모리 맵으로 동시에 매핑되며, 여기서 비휘발성 메모리의 페이지(90-97) 및 이와 연관된 메모리 제어 레지스터들(80-87)은, 하나의 페이지 선택 레지스터(44)를 기초로 선택되며 메모리 맵 내에서 각각의 규정된 영역으로 매핑된다.
메모리 관리 인터페이스, 플래시, RAM, EEPROM, 페이지 선택 레지스터

Description

오버레이드 페이징된 메모리 제어 레지스터들을 구비한 데이터 처리 시스템{Data processing system with overlaid paged memory control registers}
도 1은 전형적인 마이크로제어기 또는 마이크로프로세서 시스템을 예시한 블록도.
도 2는 도 1에 예시된 시스템에서의 레지스터들 및 물리적 메모리의 종래의 메모리 어드레스 맵을 예시한 도면.
도 3은 종래 기술에서 이용되는 프로그램가능한 메모리에 대한 페이지 매핑 구조를 예시한 도면.
도 4a 및 도 4b는 종래 기술의 구조를 이용하는 레지스터들의 제한된 세트를 갖는 구조에서 플래시 메모리의 4개의 모듈 프로그래밍을 예시한 플로우차트를 함께 형성한 도면.
도 5는 본 발명에 따른 프로그램가능한 메모리에 대한 레지스터들 및 물리적 메모리의 메모리 어드레스 맵을 예시한 도면.
도 6은 도 5에 예시된 페이지 매핑 기술을 이용한 메모리 프로그래밍을 예시한 플로우차트.
도 7 내지 도 9는 도 5에 도시된 본 발명의 다른 실시예를 위한 레지스터들 및 물리적 메모리의 메모리 어드레스 맵들을 예시한 도면.
※도면의 주요부분에 대한 부호의 설명※
44: 페이지 선택기
80, 81, 82, 83, 84, 85, 86, 87: 메모리 레지스터
90, 91, 92, 93, 94, 95, 96, 97: 메모리
본 발명은 일반적으로 데이터 처리 시스템에 관한 것으로, 더욱 상세하게는 프로그램가능한 메모리를 구비하는 페이징된 데이터 처리 시스템에 관한 것이다.
도 1은 전형적인 마이크로제어기 또는 마이크로프로세서 시스템을 나타낸 블록도이다. 시스템(10)은 양방향 버스로 메모리 관리 인터페이스(14)와 통신하는 중앙 처리 유닛(CPU)(12)을 구비한다. 다음에 메모리 관리 인터페이스(MMI)(14)는 CPU(12)의 지시에 따라 양방향 버스들을 통해 플래시(16), RAM(17), EEPROM(18) 메모리들과 통신한다.
도 2는 도 1에 나타낸 시스템 내의 레지스터들 및 물리적 메모리의 전형적인 메모리 어드레스 맵을 예시한 도면이다. 메모리 어드레스 맵(20)은 프로그래머의 관점의 도 1에 도시된 메모리들(16, 17, 18) 이다. 이는 메모리 관리 인터페이스(14)에 의해 제어된다. 메모리 어드레스 맵의 좌측 축을 따라 64 킬로바이트(KB) 어드레스 범위에서 상단의 $0000에서 하단의 $FFFF에 걸쳐 일련의 16진수 바이트 어드레스들이 있다. 하부 메모리(low memory)에는 레지스터들 및 RAM(22)이 있다. 이 다음에는 EEPROM(24)이 이어진다. 고정된 맵 플래시(28)는 헥스(hex) $4000에서 시작하며, 헥스 $C000에서 시작하여 $FFFF까지 확장되는 고정된 맵 플래시(38)의 다른 뱅크(bank)는 페이징된 플래시(30, 31, 32, 33, 34, 35, 36, 37)에 이어진다. 제 2 고정 맵 플래시(38)는 인터럽트 및 리셋 벡터들을 포함한다. 도 2에서, 페이징된 플래시(30, 31, 32, 33, 34, 35, 36, 37)의 8개의 페이지가 도시되며, 각각은 $8000에서 $BFFF에 걸쳐 동일한 어드레스 베이스(address base)를 공유한다.
도 3은 종래 기술에서 이용되는 프로그램가능한 메모리에 대한 페이지 매핑 구성을 예시한 도면이다. 4개의 메모리들(50, 51, 52, 53)은 $8000에서 $BFFF까지의 어드레스 공간을 공유한다. 4개의 메모리들(50, 51, 52, 53) 각각은 $00F0에서 $00FF에 걸친 어드레스들에 위치된 어드레스 레지스터들(40, 41, 42, 43)의 대응하는 세트를 갖는다. 메모리(50, 51, 52, 53)의 페이지들 중 하나를 선택하기 위해 이용되는 페이지 선택 레지스터(PPAGE)가 또한 있다 : 페이지 선택 레지스터(PPAGE)(44)가 $00의 값을 포함할 때 제 1 메모리(50)가 선택되고, 페이지 선택 레지스터(44)가 $01의 값을 포함할 때 제 2 메모리(51)가 선택되고, 페이지 선택 레지스터(44)가 $02의 값을 포함할 때 제 3 메모리(52)가 선택되고, 및 페이지 선택 레지스터(44)가 $03의 값을 포함할 때 제 4 메모리(53)가 선택된다. 어드레스 $00F0에서 시작하는 레지스터들(40)의 제 1 세트는 제 1 메모리(50)를 프로그램하기 위해 이용된다. $00F4에서 시작하는 레지스터(41)의 제 2 세트는 제 2 메모리(51)를 프로그램하기 위해 이용된다. $00F8에서 시작하는 레지스터(42)의 제 3 세트는 제 3 메모리(52)를 프로그램하기 위해 이용된다. 마지막으로, $00FC에서 시작하는 레지스터(43)의 제 4 세트는 제 4 메모리(53)를 프로그램하기 위해 이용된다.
도 4a 및 도 4b는 함께 종래 기술의 구조를 이용하는 레지스터의 제한된 세트를 갖는 구조에서의 4개의 모듈들을 프로그래밍을 예시한 플로우차트를 형성한다. 알고리즘은 스텝 61에서 페이지 선택 레지스터(PPAGE)(44)를 $00의 값으로 설정함으로서 시작한다. 다음에, 레지스터 Y는 스텝 62에서 윈도우 내에서 플래시 메모리의 시작을 지시하기 위해 설정된다. 다음에, 외측 루프가 입력되어 스텝 63에서 블록을 RAM으로 다운로딩하기 시작한다. 이어서, 스텝 64에서 X 레지스터를 RAM 블록의 시작으로 설정한다. 다음에, 내측 루프가 입력되어 스텝 65에서 워드 RAM을 제 1 플래시 페이지(PPAGE=$00)로 프로그래밍하기 시작한다. 다음에, X 및 Y 레지스터들은 스텝 66에서 증가되며, 스텝 67에서 블록이 완성되었는 가의 여부에 대한 테스트가 이루어진다. 스텝 67에서 블록이 완성되지 않는 한, 내측 루프는 스텝 65에서 시작하도록 반복된다. 그렇지 않으면, 스텝 68에서 윈도우가 실행되는가의 여부에 대한 테스트가 이루어져, 윈도우가 스텝 68에서 실행되지 않는 한, 외측 루프는 스텝 63에서 시작하도록 반복된다. 한편, 윈도우가 스텝 68에서 실행되면, 플래시의 제 1 페이지에 대한 프로그래밍이 완성된다. 이어서, 페이지 $01(51), $02(52) 및 $03(53)에 대하여 동일한 코드가 부여된다. 페이지 프로그래밍이 4회 되풀이됨을 유의해야 한다. 이것은 주로 4 개의 메모리 모듈들(50, 51, 52, 53) 각각이 레지스터들(40, 41, 42, 43)의 대응하는 세트를 갖는다는 사실에 기인한다. 따라서, 메모리 프로그래밍 레지스터(40)의 제 1 세트는 제 1 메모리(50)를 프로그램하기 위해 이용되며, 메모리 프로그래밍 레지스터(41)의 제 2 세트는 제 2 메모리(51) 등을 프로그램하기 위해 이용된다. 도 4에 예시된 바에 따르면 프로그래밍시의 오버헤드를 감소시키는 장점이 있다. 각각의 메모리(50, 51, 52, 53)에 대응하는 프로그램 레지스터(40, 41, 42, 43)를 이용하는 것은 비효율적인 프로그래밍 모듈을 초래한다.
본 발명의 특징들 및 이점들은 동일한 부호들은 동일하고 대응하는 부분들을 참조하는 첨부한 도면들에 관련하여 취해진 다음의 상세한 설명으로부터 더 명백해질 것이다.
다음의 설명에 있어서, 여러 가지 특수한 설명이 본 발명의 완전한 이해를 돕기 위하여 특정 워드 또는 바이트 길이 등으로서 설정된다. 그러나, 본 발명이 상기 특정 설명 외에도 실시될 수 있음은 당 기술에 숙련된 지식을 가진 자에게는 명백하다. 다른 경우에 있어서, 회로는 불필요한 설명으로 본 발명을 모호하게 하지 않도록 블록도로 도시된다. 타이밍 등에 관련된 설명은 상기 설명이 본 발명의 완전한 이해를 얻기 위해 반드시 필요한 것이 아니며 관련 기술에 숙련된 지식을 가진 자의 이해 범주 내에 있기 때문에 생략한다.
용어 "버스"는 데이터, 어드레스, 제어 또는 상태 등의 하나 이상의 다양한 형태의 정보를 전송하기 위해 이용되는 다수의 신호들 또는 콘덕터들을 가리키는데 사용된다. 용어 "긍정(assert)" 및 "부정(negate)"은, 신호, 상태 비트 또는 유사한 장치를 논리적으로 참 또는 논리적으로 거짓 상태로 각각 나타내는 것을 언급할 때 이용된다. 논리적으로 참 상태가 논리 레벨 '1' 이면, 논리적으로 거짓 상태는 논리 레벨 '0' 이다. 그리고, 논리적으로 참 상태가 논리 레벨 '0' 이면, 논리적으로 거짓 상태는 논리 레벨 '1' 이다. 16진수 값은 달러 부호("$")로 앞에 붙여진 바와 같이 명세서 및 도면에 도시되어 있다. 따라서, $000F 는 15의 10진수 값과 동일한 "F"의 16진수 값을 나타낸다.
프로그래밍 모델은 도 3에 도시된 바와 같이 다중 메모리 제어 레지스터(40, 41, 42, 43)를 대응하는 메모리 어레이(50, 51, 52, 53)와 논리적으로 결합함으로써 상당히 단순화된다. 고유의 메모리 어드레스를 갖는 각 메모리 제어 레지스터 대신에, 메모리 제어 레지스터들이 오버랩되어 공통 가상 어드레스를 공유한다. 이로서 CPU 맵 내에 메모리 어레이를 배치시키는 동일한 매핑 제어부를 CPU 맵 내의 연관된 블록 프로그래밍 레지스터들에 또한 배치시킬 수 있다. 새로운 메모리 어레이가 선택될 때마다, 프로그래밍 레지스터들의 연관된 블록은 또한 가상 메모리 맵 내에 배치된다. 프로그래밍 레지스터들은 동일한 가상 어드레스에 항상 배치된다. 유저에게는 전체 프로그램가능한 메모리 어레이와 연관된 프로그래밍 레지스터들의 한 블록이 나타난다. 이 방식에 의해 프로그래밍 알고리즘이 새로운 메모리 어레이가 메모리 맵에서 취해질 때마다 변경할 필요가 없다.
도 5는 본 발명에 따른 프로그램가능한 메모리에 대한 페이지 매핑 구조를 예시한 메모리 맵 도면이다. 각 메모리들(90, 91, 92, 93, 94, 95, 96, 97)이 도시되며, 각각은 $8000에서 #BFFF까지 동일한 가상 메모리 어드레스 윈도우를 공유한다. 언제나 볼 수 있는 8개의 메모리 페이지들은 페이지 선택 레지스터(PPAGE)(44)(도 3을 참조)를 $00에서 $07에 걸친 값으로 설정함으로서 제어된다. 8개의 메모리 페이지들 각각은 $00F4에서 시작하여 어드레스 $00F7까지 펼쳐져 모두 오버랩된 메모리 레지스터들(80, 81, 82, 83, 84, 85, 86, 87)의 대응하는 세트에 의해 제어된다. 메모리 페이지들과 연관하여, 메모리 레지스터들은 페이지 선택 레지스터(PPAGE)(44)를 $00에서 $07에 걸친 값들로 설정함으로써 선택된다. 따라서, 페이지 선택 레지스터(PPAGE)(44)가 $00의 값으로 설정되면, 메모리(90)의 제 1 페이지가 제 1 페이지 레지스터 세트(80)와 함께 선택된다. 레지스터 세트들 및 메모리 페이지들의 다른 7개의 대응하는 세트들에 대해서도 마찬가지이다. 여기서 8개의 메모리 페이지들 및 레지스터들의 8개의 대응하는 세트들이 예시된다. 그러나, 더 많거나 적은 메모리들 및 대응하는 레지스터 세트들이 상기 구조로 실행될 수 있음을 인지해야 한다.
도 6은 도 5에 예시된 페이지 매핑 기술을 이용하는 메모리 프로그래밍을 예시한 플로우차트이다. 알고리즘은 스텝 70에서 페이지 선택 레지스터(PPAGE)(44)를 $00의 값으로 우선 설정함으로써 시작된다. 다음에, 외측 루프가 입력되어, Y 레지스터는 스텝 71에서 윈도우 내의 플래시 메모리의 시작을 지시하기 위해 초기화된다. 다음에 중간 루프가 입력되어, 블록이 스텝 72에서 RAM으로 다운로드된다. 이어서, 스텝 73에서 X 레지스터를 RAM 블록의 시작의 지시를 설정한다. 다음에, 내측 루프가 입력되어 스텝 74에서 워드 RAM을 플래시에 프로그래밍하기 시작한다. 이때는 메모리 프로그래밍 레지스터들(80, 81, 82, 83, 84, 85, 86, 87)을 이용한다. X 및 Y 레지스터들은 스텝 75에서 증가되며, 스텝 76에서 현재 블록이 실행되는 가의 여부에 대한 테스트가 이루어진다. 현재 블록이 스텝 76에서 실행되지 않는다면, 내측 루프가 되풀이되어 스텝 74를 시작한다. 또는, 블록이 스텝 76에서 실행되면, 현재 윈도우가 스텝 77에서 실행되는가의 여부에 대한 테스트가 실행된다. 현재 윈도우가 스텝 77에서 실행되지 않으면, 중간 루프가 되풀이되어 스텝 72를 시작한다. 현재 윈도우가 스텝 77에서 실행되면, 중간 루프가 완료되며, 메모리 페이지 선택 레지스터(PPAGE)가 스텝 78에서 증가된다. 다음에, 모든 모듈들 또는 메모리들이 스텝 79에서 프로그램되는 가의 여부에 대한 테스트가 이루어진다. 모든 모듈들 또는 메모리들이 스텝 79에서 실행되지 않는다면, 외부 루프는 스템 79에서 시작하여 반복된다. 또는, 모듈들 또는 메모리들이 단계 79이서 실행되면, 프로그램은 종료한다. 도 4와 도 6 사이에는 중요한 차이점이 있음을 유념해야 한다. 도 6에서의 외측 루프는 프로그램된 또는 이레이즈된 각 메모리 페이지에 대하여 다른 메모리 프로그래밍 레지스터들(40, 41, 42, 43)을 이용할 필요가 있기 때문에 도 4에서의 4개의 분리 부분으로된 코드로 전개된다. 본 발명의 경우, 도 6에 도시된 프로그밍에서 예시된 바와 같이, 스텝 78에서 페이지 선택 레지스터(PPAGE)(44)를 증가시키는 것이 가능하며, 스텝 74에서는 메모리 프로그래밍 레지스터에 대하여 일정한 어드레스들을 이용한다.
도 7은 본 발명의 다른 실시예를 위한 레지스터 및 물리적 메모리의 메모리 어드레스 맵을 예시한 도면이다. 도 5를 참조하면, 8개의 메모리 페이지들이 (110, 111, 112, 113, 114, 115, 116, 117)로 예시된다. 그러나, 8개의 메모리 페이지들은 4개의 메모리 어레이들로서 물리적으로 구성된다. 이 경우, 2개의 16K 메모리 페이지들이 32K 메모리 어레이를 구성한다. 4개의 메모리 프로그래밍 레지스터들(100, 102, 104, 106)이 4개의 메모리 어레이들(120, 122, 124, 126)에 대응하는 것으로 예시된다. 제 1 메모리 어레이(120)는 $00의 값으로 선택된 제 1 메모리 페이지(110) 및, $01의 값으로 선택된 제 2 메모리 페이지(111)를 포함한다. 마찬가지로, 제 2 메모리 어레이(122)는 $02의 값으로 제 3 메모리 페이지(112) 및, $03의 값으로 제 4 메모리 페이지(113)에 의해 매핑된다. 다른 4개의 메모리 페이지들(114, 115, 116, 117) 및 2개의 메모리 어레이들(124, 126)에 대해서도 마찬가지이다. 따라서, $00과 동일한 페이지 선택 값을 갖는 페이지 선택 레지스터(PPAGE)(44)는 메모리의 제 1 어레이(120) 내에 제 1 페이지(110) 및 프로그래밍 레지스터(100)의 제 1 세트를 선택한다. $01의 페이지 선택 값은 다시 제 1 프로그래밍 레지스터(100)의 세트를 선택하나, 이때에는 제 1 메모리 어레이(120)의 제 2 페이지(111)를 선택한다. 마찬가지로, $02와 동일한 페이지 선택값은 제 2 메모리 어레이(122)의 제 1 페이지(112) 및 메모리 프로그래밍 레지스터(102)의 두 번째 제 1 세트를 선택한다. 마찬가지로, $03이 동일한 페이지 선택 값은 제 2 메모리 어레이(122)의 제 2 페이지(113) 및 메모리 프로그래밍 레지스터(102)의 제 2 세트를 선택한다. 이것은 메모리 프로그래밍 레지스터들의 제 3 세트(104) 및 제 4 세트(106)와, 제 3 메모리 어레이(124) 및 제 4 메모리 어레이(126)에 대해서도 반복된다.
플래시 페이지 6(PPAGE=$06)(116)은 메모리 어드레스들로부터 부가적으로 $4000에서 $7FFF까지 매핑된다. 마찬가지로, 플래시 페이지 7(PPAGE=$07)(117)은 $C000에서 $C000까지 매핑된다. 이로서 상기 2 페이지들은 이들을 프로그램할 필요가 있을 때 메모리의 다른 페이지들과 유사하게 처리될 수 있으나, 부가적으로 상기 페이지들은 항상 물리적 메모리 공간에서 보여질 수 있다.
도 8은 본 발명의 제 2 의 다른 실시예를 위한 레지스터들 및 물리적 메모리의 메모리 어드레스 맵을 예시한 도면이다. 도 7과 연관하여, 4개의 메모리 어레이들(120, 122, 124, 126)은 8개의 메모리 페이지들(110, 111, 112, 113, 114, 115, 116, 117)로 매핑된다. 4 개의 메모리 어레이들(120, 122, 124, 126) 각각은 메모리 맵 어드레스 $00EC에서 $00EF까지 확장하는 메모리 레지스터들(130, 132, 134, 136)의 대응하는 오버랩된 세트를 갖는다. 또한, 4 개의 메모리 어레이들(120, 122, 124, 126) 각각은 메모리 맵 어드레스 $00F0에서 $00FF까지 펼쳐진 오버랩되지 않은 메모리 레지스터들(131, 133, 135, 137)의 4개의 바이트 세트를 갖는다. 메모리 프로그래밍 레지스터들(131, 133, 135, 137)의 제 2 세트는 프로그래밍 레지스터들의 한 세트에 일정한 가시도를 제공하며, 오버레이된 액세스를 다른 세트(130, 132, 134, 136)에 제공한다. 본 실시예에서 레지스터들의 2개의 개별 세트들이 도시됨을 유념한다. 그러나, 이들을 오버랩된 것으로 실시할 수 있다. 따라서, 제 1 오버레이되지 않은 레지스터(131)가 PPAGE=$00으로 선택된 오버레이된 레지스터(130)를 어드레스할 수 있다.
도 9는 본 발명의 또 다른 실시예를 위한 레지스터들 및 물리적 메모리의 메모리 어드레스 맵을 예시하는 도면이다. 이 도 9는 도 7에 도시된 바와 같이 메모리 어레이들 및 메모리 페이지들만을 예시한다. 각 메모리 어레이들(120, 122, 124, 126)에 대한 8K 부트부는 대응하는 메모리 레지스터들(100, 102, 104, 106)로부터 제어될 수 있다. FEEMCR 레지스터 내의 BOOTP 비트(이하 참조)는 상기 부트 영역이 이레이즈 및 프로그래밍으로부터 록-아웃되도록 한다. 제 4 메모리 어레이(126) 및 제 8 페이지(117) 내의 부트부는 시스템 부트 영역과 인터럽트 및 리셋 벡터 영역으로 매핑되고 이는 시스템 메모리 페이지 내에 $E000에서 $FFFF로 연장된다. BOOTP 비트는 메모리의 이 영역을 보호하기 위해 이용될 수 있는 것으로 예측된다.
표 T-1은 도 5에 도시된 메모리 제어 레지스터들(80, 81, 82, 83, 84, 85, 86, 87)의 내용을 예시한다. 표는 표 T-1에 도시된 레지스터들에 대한 레지스터 비트들의 더 상세한 설명이 뒤따른다. 표에 도시된 비트들은 예시 목적을 위한 것이며 본 발명의 다른 실시예들이 다른 레지스터 구성을 이용할 수 있음을 유념해야 한다.
Figure 111999000346812-pat00001

FEELCK($00F4) - 플래시 EEPROM 로크 제어 레지스터(Flash EEPROM Lock Control Register):
LOCK(비트 0) - 로크 레지스터 비트
FEEMCR 레지스터로의
기입 인에이블/디스에이블(Enable/Disable write)
FEEMCR($00F5) - 플래시 EEPROM 모듈 테스트 레지스터(Flash EEPROM Module Test Register):
BOOTP(비트 0) - 부트 보호
부트 블록 이레이즈/프로그램을 인에이블/디스에이블
FEETST($00F6) - 플래시 EEPROM 모듈 테스트 레지스터(Flash EEPROM Module Test Register):
MWPR(비트 0) - 다중 워드 프로그래밍
다중 (32) 워드 프로그래밍을 인에이블/디스에이블
STRE(비트 1) - 예비 행 인에이블(Spare Row Enable)
인에이블/디스에이블이 테스트 행이다
VTCK(비트 2) - VT 검사 테스트 인에이블(VT Check Test Enable)
VFP 핀을 이용하는 VT 테스트를 인에이블/디스에이블
FDISVFP(비트 3) - 디스에이블 상태 VFP 전압 로크(Disalbe Status VFP Voltage Lock)
저 VFP에 대한 자동 LAT 로크를 인에이블/디스에이블
FENLV(비트 4) - 인에이블 저 전압(Enable Low Voltage)
기준 회로에서의 저 전압 트랜지스터를 인에이블/디스에이블
HVT(비트 5) - 스트레스 고 전압 레벨 테스트(Stress Test High Voltage Level)
스트레스 테스트중 고 전압의 존재 또는 부재
GADR(비트 6) - 게이트/드레인 스트레스 테스트 선택(Gate Drain Stress Test Select)
게이트 또는 드레인 스트레스 테스트 회로를 선택
FSTE(비트 7) - 스트레스 테스트 인에이블(Stress Test Enable)
게이트/드레인 강도 테스트 회로를 인에이블/디스에이블
FEECTL($00F7) - 플래시 EEPROM 제어 레지스터(Flash EEPROM Control Test Register) :
ENPE(비트 0) - 인에이블 프로그래밍/이레이즈(Enable Programming/Erase)
프로그램/이레이즈 전압을 플래시로 인에이블/디스에이블
LAT(비트 1) - 래치 제어(Latch Control)
프로그래밍 래치들을 인에이블/디스에이블
ERAS(비트 2) - 이레이즈 제어(Erase Control)
프로그래밍/이레이즈를 위해 구성된 플래시
SVFP(비트 3) - 상태 VFP 전압(Status VFP Voltage)
정상 프로그래밍 레벨 위/아래의 VFP
FEESWAI(비트 4) - EEPROM 스톱 대기 제어 플래시(Flash EEPROM Stop In Wait Control)
대기 모드일 때 정지를 인에이블/디스에이블
표 T-2 는 메모리 어레이 판독에 대한 ENPE, LAT 및 ERAS의 영향들을 나열함:
표 T-2 어드레스 판독에 대한 ENPE, LAT 및 ERAS의 영향
ENPE LAT ERAS 판독 결과
0 0 - 어드레스된 위치의 정상 판독
0 1 0 프로그램될 위치의 판독
0 1 1 어드레스된 위치의 정상 판독
1 - - 무시된 판독 사이클
본 발명의 범주를 이탈하지 않는 범위 내에서 변형 및 응용이 이루어질 수 있음은 당업자에게는 명백하다. 따라서, 본 발명은 첨부된 클레임의 범주 내에서 모든 상기 변형 및 응용을 수용할 수 있다.
여기에서 클레임 요소들 및 스텝들은 독해 및/또는 이해를 돕기 위하여 번호화 또는 문자화되었다. 따라서, 자체적인 번호화 및/또는 문자화는 클레임에서의 요소들 및/또는 스텝들의 순서를 나타내기 위해 의도되지 않고 취해져서는 안된다.

Claims (5)

  1. 페이지 선택기(44);
    제 1 공통 어드레스 공간 맵을 공유하는 제 1 메모리(90) 및 제 2 메모리(97); 및
    메모리 제어 레지스터들의 가상 세트로서, 프로그래밍 모델에 나타나는 제 2 공통 어드레스 공간 맵을 공유하는 제 1 메모리 제어 레지스터(80) 및 제 2 메모리 제어 레지스터(81);를 포함하고,
    상기 제 1 메모리(90) 및 상기 제 1 메모리 제어 레지스터(80)는 상기 페이지 선택기(44)가 제 1 값을 가질 때 선택되며,
    상기 제 2 메모리(97) 및 상기 제 2 메모리 제어 레지스터(81)는 상기 페이지 선택기(44)가 제 2 값을 가질 때 선택되는 데이터 처리 시스템.
  2. 제 1 항에 있어서,
    상기 페이지 선택기(44)가 제 3 값을 가질 때 제 3 메모리(98) 및 상기 제 1 메모리 제어 레지스터(80)가 선택되며,
    상기 페이지 선택기(44)가 제 4 값을 가질 때 제 4 메모리 및 상기 제 2 메모리 제어 레지스터(81)가 선택되는 데이터 처리 시스템.
  3. 제 2 항에 있어서,
    상기 제 2 공통 어드레스 공간 맵을 공유하는 제 3 메모리 제어 레지스터(82), 및 제 4 메모리 제어 레지스터(83);를 더 포함하고,
    상기 제 3 메모리(98) 및 상기 제 3 메모리 제어 레지스터(82)는 상기 페이지 선택기(44)가 제 3 값을 가질 때 선택되며,
    상기 제 4 메모리 및 상기 제 4 메모리 제어 레지스터(83)는 상기 페이지 선택기(44)가 제 4 값을 가질 때 선택되는 데이터 처리 시스템.
  4. 제 1 항에 있어서,
    상기 제 1 메모리 제어 레지스터(80), 상기 제 2 메모리 제어 레지스터(81), 및 메모리 제어 레지스터들의 가상 세트 각각은,
    대응하는 메모리의 부트 블록(boot block)에 대한 액세스를 프로그램적으로 디스에이블하는 부트 보호 비트;
    메모리 제어 레지스터들의 동일한 세트 내의 상기 부트 보호 비트에 대한 액세스를 프로그램적으로 디스에이블하는 록 레지스터 비트;
    상기 대응하는 메모리의 프로그래밍 및 이레이징중 하나를 프로그램적으로 선택하는 이레이즈 제어 비트(erase control bit);
    상기 대응하는 메모리의 프로그래밍 및 이레이징을 제어하기 위한 프로그래밍 래치들(latches)을 프로그램적으로 인에이블하는 래치 제어 비트; 및
    상기 대응하는 메모리에 프로그램/이레이즈 전압의 공급을 프로그램적으로 인에이블하는 인에이블 프로그래밍 및 이레이징 비트;를 포함하는 데이터 처리 시스템.
  5. 복수의 메모리 어레이들(90-97)을 데이터 처리 시스템 내의 단일 어드레스 공간 윈도우에 매핑하는 방법에 있어서,
    (A) 페이지 선택기(44)가 제 1 값을 가질 때 제 1 메모리(90)를 액세스하는 단계;
    (B) 상기 페이지 선택기(44)가 제 2 값을 가질 때 제 2 메모리(91)를 액세스하는 단계;
    (C) 상기 페이지 선택기(44)가 상기 제 1 값을 가질 때 메모리 제어 레지스터들(80)의 제 1 세트를 액세스하는 단계; 및,
    (D) 상기 페이지 선택기(44)가 상기 제 2 값을 가질 때 메모리 제어 레지스터들(81)의 제 2 세트를 액세스하는 단계;를 포함하고,
    상기 제 1 메모리(90)는 상기 페이지 선택기(44)가 상기 제 1 값을 가질 때 제 1 공통 어드레스 공간 윈도우에 매핑되고,
    상기 제 2 메모리(91)는 상기 페이지 선택기(44)가 상기 제 2 값을 가질 때 상기 제 1 공통 어드레스 공간 윈도우에 매핑되고,
    상기 메모리 제어 레지스터들의 제 1 세트는 상기 페이지 선택기(44)가 상기 제 1 값을 가질 때 제 2 공통 어드레스 공간 윈도우에 매핑되며,
    상기 메모리 제어 레지스터들의 제 2 세트는 상기 페이지 선택기(44)가 상기 제 2 값을 가질 때 상기 제 2 공통 어드레스 공간 윈도우에 매핑되는 매핑 방법.
KR1019990001622A 1998-01-20 1999-01-20 오버레이드 페이징된 메모리 제어 레지스터들을 구비한 데이터 처리 시스템 KR100625497B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/009.509 1998-01-20
US9/009.509 1998-01-20
US09/009,509 US6058463A (en) 1998-01-20 1998-01-20 Paged memory data processing system with overlaid memory control registers

Publications (2)

Publication Number Publication Date
KR19990068021A KR19990068021A (ko) 1999-08-25
KR100625497B1 true KR100625497B1 (ko) 2006-09-20

Family

ID=21738095

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990001622A KR100625497B1 (ko) 1998-01-20 1999-01-20 오버레이드 페이징된 메모리 제어 레지스터들을 구비한 데이터 처리 시스템

Country Status (4)

Country Link
US (1) US6058463A (ko)
EP (1) EP0930571A3 (ko)
JP (1) JP4664453B2 (ko)
KR (1) KR100625497B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823016B1 (en) * 1998-02-20 2004-11-23 Intel Corporation Method and system for data management in a video decoder
US7653819B2 (en) * 2004-10-01 2010-01-26 Lenovo Singapore Pte Ltd. Scalable paging of platform configuration registers

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4511964A (en) * 1982-11-12 1985-04-16 Hewlett-Packard Company Dynamic physical memory mapping and management of independent programming environments
JPS62296251A (ja) * 1986-06-16 1987-12-23 Fujitsu Ltd ペ−ジングアドレス方式
JPS6482148A (en) * 1987-09-24 1989-03-28 Toshiba Corp Memory bank switching device
US5095420A (en) * 1988-11-21 1992-03-10 International Business Machines Method and system for performing virtual address range mapping in a virtual storage data processing system
JPH0368046A (ja) * 1989-08-07 1991-03-25 Fujitsu Ltd メモリアクセス方式
US5394537A (en) * 1989-12-13 1995-02-28 Texas Instruments Incorporated Adaptive page placement memory management system
JPH03204049A (ja) * 1989-12-29 1991-09-05 Sharp Corp メモリ制御装置
JPH03231343A (ja) * 1990-02-06 1991-10-15 Nec Corp マイクロプロセッサにおけるメモリ空間拡張方式
JPH0454652A (ja) * 1990-06-25 1992-02-21 Nec Corp マイクロコンピュータ
JPH04100165A (ja) * 1990-08-18 1992-04-02 Pfu Ltd キャッシュにおけるバンクメモリ制御方式
DE4215063C2 (de) * 1991-05-10 1999-11-25 Intel Corp Einrichtung und Verfahren zum Seitenwechsel bei einem nicht-flüchtigen Speicher
US5603011A (en) * 1992-12-11 1997-02-11 International Business Machines Corporation Selective shadowing and paging in computer memory systems
US5592641A (en) * 1993-06-30 1997-01-07 Intel Corporation Method and device for selectively locking write access to blocks in a memory array using write protect inputs and block enabled status
WO1998022950A1 (en) * 1996-11-22 1998-05-28 Macronix International Co., Ltd. Write protected, non-volatile memory device with user programmable sector lock capability
EP1058930B1 (en) * 1998-01-06 2009-06-03 Macronix International Co., Ltd. A memory supporting multiple address protocols

Also Published As

Publication number Publication date
KR19990068021A (ko) 1999-08-25
JPH11338770A (ja) 1999-12-10
JP4664453B2 (ja) 2011-04-06
EP0930571A3 (en) 2002-03-06
EP0930571A2 (en) 1999-07-21
US6058463A (en) 2000-05-02

Similar Documents

Publication Publication Date Title
US4610000A (en) ROM/RAM/ROM patch memory circuit
US4752871A (en) Single-chip microcomputer having a program register for controlling two EEPROM arrays
KR940002754B1 (ko) 반도체 집적회로 장치의 제어방법
KR100546449B1 (ko) 데이터 메모리 섹터 및 코드 메모리 섹터를 구비하는 단일메모리 모듈을 포함하고 두 개의 섹터에 동시 판독/기록액세스하는 마이크로컨트롤러
US4780855A (en) System for controlling a nonvolatile memory having a data portion and a corresponding indicator portion
CN101595528B (zh) 存储器装置架构和操作
US5036486A (en) Associative memory device
US5845332A (en) Non-volatile memory, memory card and information processing apparatus using the same and method for software write protect control of non-volatile memory
US6034889A (en) Electrically erasable and programmable non-volatile memory having a protectable zone and an electronic system including the memory
US5388104A (en) Semiconductor integrated circuit capable of testing memory blocks
US6236593B1 (en) Method for simultaneously programming plural flash memories having invalid blocks
EP0283238B1 (en) Non-volatile memory
US5046046A (en) Redundancy CAM using word line from memory
US6614689B2 (en) Non-volatile memory having a control mini-array
US5890191A (en) Method and apparatus for providing erasing and programming protection for electrically erasable programmable read only memory
US20020032829A1 (en) Microprocessor memory device controller
KR920005836B1 (ko) 단일칩 마이크로 컴퓨터
US5047989A (en) Chapter mode selection apparatus for MOS memory
JPH05274215A (ja) 半導体メモリおよびこれを使用した半導体メモリボード
US5548559A (en) Semiconductor integrated circuit
US6510083B1 (en) Electrically erasable and programmable memory that allows data update without prior erasure of the memory
US20020103958A1 (en) Programmable nonvolatile memory apparatus and microcomputer using the same
KR100625497B1 (ko) 오버레이드 페이징된 메모리 제어 레지스터들을 구비한 데이터 처리 시스템
US5101376A (en) Integrated microprocessor with associative memory device
US5226015A (en) Semiconductor memory system

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20130827

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140609

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 13

EXPY Expiration of term