KR20010081831A - 메모리의 프로그램 영역 파손 방지 방법 - Google Patents

메모리의 프로그램 영역 파손 방지 방법 Download PDF

Info

Publication number
KR20010081831A
KR20010081831A KR1020000007995A KR20000007995A KR20010081831A KR 20010081831 A KR20010081831 A KR 20010081831A KR 1020000007995 A KR1020000007995 A KR 1020000007995A KR 20000007995 A KR20000007995 A KR 20000007995A KR 20010081831 A KR20010081831 A KR 20010081831A
Authority
KR
South Korea
Prior art keywords
ram
program
cpu
memory
program area
Prior art date
Application number
KR1020000007995A
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 KR1020000007995A priority Critical patent/KR20010081831A/ko
Publication of KR20010081831A publication Critical patent/KR20010081831A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 일반 디지털 전자회로 시스템에서 많이 쓰이는 메모리의 프로그램을 보호하는 장치에 관한 것으로 보다 상세하게는 램 기반(RAM based) 프로그램 운용이 가능한 시스템에서 램의 프로그램 영역의 파손을 방지하는 방법에 관한 것이다.
본 발명에서는 일반적 디지털 전자회로 시스템에서 시스템의 주제어장치로서 쓰이는 CPU(Central Process Unit); 및
상기 시스템에서 구동되는 어떤 프로그램에 오류가 발생하여 상기 프로그램의 구동에 필요한 램(RAM)의 프로그램 영역에 데이터를 쓰게 되는 경우 상기 CPU 로부터 경고 메시지를 받아 메모리 라이트 에러(memory write error) 신호를 발생시키는 메모리 보호부를 상기 시스템에 구비시켜 상기 램의 프로그램 영역을 보호한다.
본 발명을 이용하면 다음과 같은 이점이 있다.
종래의 고가의 CPU 만으로 구현되었던 메모리의 프로그램 영역 파손 방지를 메모리 관리 기능이 없는 저가의 CPU 를 사용하여 디지털 전자회로 시스템을 구현시 저가의 소자를 이용하여 메모리의 프로그램 영역의 보호를 기할수 있으며 이로 인하여 생산자 입장에서는 생산 원가 비용 절감, 소비자 입장에서는 보다 저렴한 가격으로 제품을 구입할 수 있는 이점이 있다.

Description

메모리의 프로그램 영역 파손 방지 방법{Method for protecting program resided in memory}
본 발명은 일반 디지털 전자회로 시스템에서 많이 쓰이는 메모리의 프로그램을 보호하는 장치에 관한 것으로 보다 상세하게는 램 기반(RAM based) 프로그램 운용이 가능한 시스템에서 램의 프로그램 영역의 파손을 방지하는 방법에 관한 것이다.
램은 주지하다시피 일반 디지털 시스템에서 기억 소자로 널리 이용되고 있으며 상기 시스템에서 어떤 소프트웨어 프로그램을 가동시에 프로그램을 구동시키거나 사용자가 입력하는 데이터의 일시 저장을 담당하는데 이용되며 어떤 프로그램은 상기 시스템 기동시에 램에 항상 상주하여 작동이 되는 경우도 있다.
도1은 종래의 CPU 와 램의 일반적 연결 구성을 나타낸 것이다.
통상 디지털 시스템에서는 상기와 같이 램(20)을 프로그램 구동용으로 많이 사용하는데 램은 read/write 가 자유스럽게 되는 소자이므로 어떤 프로그램이 상기 시스템에서 구동시 프로그램에 오류가 있는 경우에는 램(20)의 프로그램 영역이 파손되는 경우가 있다.
이와 같은 파손을 막기 위하여 어떤 프로그램이 구동시 램(20)의 프로그램 영역에 write 를 하게 되는 경우가 발생하면 디지털 시스템내의 CPU(Central Process Unit, 10)내에 메모리 보호 기능을 하는 MMU(Memory Management Unit, 11)를 구비시켜 프로그램 영역의 파손을 방지하고 있다.
그러나 종래의 상기와 같은 램 보호 방법은 고가의 CPU 소자를 사용하여야 만이 가능하기 때문에 시스템 설계자, 판매자, 소비자 모두에게 경제적인 부담으로 작용하는 문제가 있었으며 저가의 CPU 에는 보통 MMU 기능이 없어 저가 CPU 를 사용하는 시스템에서는 프로그램 영역의 파손에 대한 아무런 대비책을 세울 수 없었다.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로 본 발명의 목적은 저가의 CPU 소자를 사용할 경우 메모리 보호부를 구비시켜 램의 프로그램 영역을 보호할 수 있는 방법을 제공함에 있다.
도1은 종래의 CPU 와 램의 일반적 연결 구성을 나타낸 것이다.
도2는 본 발명이 실시되기 위한 구성도이다.
도3은 본 발명이 실시되는 흐름도이다.
상기와 같은 목적을 달성하기 위해 본 발명의 메모리의 프로그램 영역 파손 방지 방법은
시스템의 CPU 가 사용 대상 램의 전체 용량 중 프로그램 영역의 용량을 결정하는 단계;
상기 시스템의 CPU 가 상기 프로그램 영역의 용량을 보호 블럭 단위로 나누는 단계;
상기 CPU 에서 상기 램으로 보내는 데이터를 전송하는 병렬 데이터 라인 중 특정 한 라인을 상기 보호 블럭 단위의 보호 기능 라인으로 설정하는 단계;
상기 보호 기능 라인이 보호 기능 모드로 설정됐음에도 불구하고 상기 프로그램의 오류에 의해 상기 보호 블럭 단위 영역에 데이터가 쓰여져 메모리 보호부에서 메모리 라이트 에러(memory write error) 신호가 발생되는 단계를 포함한다.
이하 본 발명의 동작을 첨부 도면을 참조하여 자세히 설명한다.
도2는 본 발명이 실시되기 위한 구성도이다.
CPU(100)는 일반적인 디지털 전자회로 시스템에서 시스템의 주제어장치로서널리 쓰이며 본 발명에서는 일반적인 램(200) 제어 기능 및 메모리 보호부(300)의 제어에 사용된다.
메모리 보호부(300)는 상기 시스템에서 구동되는 프로그램에 오류가 발생하여 램(200)의 프로그램 보호 영역에 데이터를 쓰게 되는 경우 CPU(100)로부터 경고 메시지를 받아 메모리 라이트 에러 신호를 발생시키며 보통 램(200)에 있는 CS(Chip Select) 단자에 '하이'신호를 인가함으로써 그 기능을 수행한다.
CS 단자가 '하이'가 되면 램(200)은 비동작 상태가 되며 이로 인하여 램(200)의 프로그램 영역을 보호할 수 있다.
본 발명에서의 CPU(100) 및 데이터 보호부(300)로 사용되는 소자는 저가의 소자이며 CPU(100)는 Motorolla 사의 MC68000 등을 예로 들 수 있으며, 데이터 보호부(300)는 EPLD(Electronically Programable Logic Device)를 사용하여 구현할 수 있다. 통상 이들 소자는 기존의 소자에 비해 상당히 낮은 코스트로서 구입이 가능하다.
도3은 본 발명이 실시되는 흐름도이다.
시스템의 CPU 가 사용 대상 램의 전체 용량 중 프로그램 영역의 용량을 결정하는 단계(S1)는 램 상주 프로그램 및 일반적 프로그램의 구동 등 프로그램의 구동에 차지하는 영역을 결정하는 단계이다.
상기 시스템의 CPU 가 상기 프로그램 영역의 용량을 보호 블럭 단위로 나누는 단계(S2)에서는 프로그램 영역의 전체 용량을 균등한 용량으로 보호 블럭 단위로 나누는데 예를 들어 총 용량이 16 MB 이고(어드레스는 000000H ~ FFFFFFH, H 는 Hexadecimal 을 의미) 프로그램 영역이 8 MB(어드레스는 000000H ~ 7FFFFFH) 인 램에서 상기 8 MB 를 1 MB 단위로 총 8 개의 보호 블럭을 설정하는 것을 예로 들 수 있다.
상기 시스템의 CPU 는 구동시키고자 하는 프로그램의 동작을 위한 요구되는 램의 용량을 결정하며 일반적인 프로그램을 동작시키기 위해서는 프로그램의 구동에 의해 발생되는 데이터를 램에 write 하거나 write 된 데이터를 램으로부터 read 하는 일이 필요한데 이러한 데이터 처리의 필요 메모리 용량은 프로그램마다 정해져 있으며 CPU 가 상기 필요 메모리 용량을 파악하여 프로그램을 구동시키게 된다.
상기 CPU 에서 상기 램으로 보내는 데이터를 전송하는 병렬 데이터 라인 중 특정 라인을 상기 보호 블럭 단위의 보호 기능 라인으로 설정하는 단계(S3)에서는 통상 램에 쓰여지거나 램에서 읽혀지는 데이터는 데이터 입출력 라인을 통해 이동하며 이런 데이터 입출력 라인은 8 비트 단위, 16 비트 단위, 24 비트 단위 등 병렬 방식으로 구성이 되어 있다. 이러한 병렬 방식 데이터 라인 중 한 라인을(한 비트를) 보호 기능 라인(보호 기능 비트)로 설정시키는데 예를 들어 8 비트 단위로 데이터의 read/write 을 행하는 램에서 어떤 프로그램이 상기 8 MB 의 프로그램 영역 중 000000H ~ 0FFFFFH 의 영역을 사용한다고 하면 첫 번째 라인(첫 번째 비트)에 보호 기능의 활성화 여부를 결정할 수 있도록 값을 세팅시킨다. '0'이면 보호 기능 활성화 모드, '1'이면 보호 기능 비활성화 모드로서 설정되며 보호 기능 라인(보호 기능 비트)은 프로그램이 사용하고자하는 영역에 따라 달라질 수 있다.
상기 보호 기능 라인이 보호 기능 모드로 설정됐음에도 불구하고 상기 프로그램의 오류에 의해 상기 보호 블럭 단위 영역에 데이터가 쓰여져 메모리 보호부에서 메모리 라이트 에러(memory write error) 신호가 발생되는 단계(S4)에서는 만약 보호 기능 모드가 설정이 된 상태에서 구동되는 프로그램이 프로그램의 오류에 의해 CPU 가 정한 램의 프로그램 영역에 상기 프로그램 구동 중에 발생되는 데이터가 write 되는 현상이 발생하면 CPU 는 메모리 보호부에 경고 메시지를 전송하며 이 메시지를 받은 메모리 보호부는 메모리 라이트 에러 신호를 발생시켜 램에 있는 CS(Chip Select) 단자에 '하이'신호를 인가하여 램을 비동작 상태가 되게 한다. 이로 인하여 램의 프로그램 영역을 보호할 수 있다.
본 발명을 이용하면 다음과 같은 이점이 있다.
종래의 고가의 CPU 만으로 구현되었던 메모리의 프로그램 영역 파손 방지를 메모리 관리 기능이 없는 저가의 CPU 를 사용하여 디지털 전자회로 시스템을 구현시 저가의 소자를 이용하여 메모리의 프로그램 영역의 보호를 기할수 있으며 이로 인하여 생산자 입장에서는 생산 원가 비용 절감, 소비자 입장에서는 보다 저렴한 가격으로 제품을 구입할 수 있는 이점이 있다.

Claims (3)

  1. 일반적 디지털 전자회로 시스템에서 시스템의 주제어장치로서 쓰이는 CPU(Central Process Unit) 및 상기 시스템에서 구동되는 어떤 프로그램에 오류가 발생하여 상기 프로그램의 구동에 필요한 램(RAM)의 프로그램 영역에 데이터를 쓰게 되는 경우 상기 CPU 로부터 경고 메시지를 받아 메모리 라이트 에러(memory write error) 신호를 발생시키는 메모리 보호부를 상기 시스템에 구비시켜 상기 램의 프로그램 영역을 보호하는 방법에 있어서:
    상기 시스템의 CPU 가 상기 램의 전체 용량 중 상기 프로그램 영역의 총 용량을 결정하는 단계;
    상기 시스템의 CPU 가 상기 프로그램 영역의 총 용량을 보호 블럭 단위로 나누는 단계;
    상기 CPU 에서 상기 램으로 보내는 데이터를 전송하는 병렬 데이터 라인 중 특정 하나의 라인을 상기 보호 블럭 단위의 보호 기능 라인으로 설정하는 단계;
    상기 보호 기능 라인이 보호 기능 모드로 설정됐음에도 불구하고 상기 프로그램의 오류에 의해 상기 보호 블럭 단위 영역에 데이터가 쓰여져 상기 메모리 보호부에서 메모리 라이트 에러 신호가 발생되는 단계를 포함함을 특징으로 하는 램의 프로그램 영역을 보호하는 방법.
  2. 제1항에 있어서 상기 시스템의 CPU 가 상기 프로그램 영역의 총 용량을 보호 블럭 단위로 나누는 단계는 상기 프로그램 영역의 총 용량을 균등한 용량의 보호 블럭 단위로 나눔을 특징으로 하는 램의 프로그램 영역을 보호하는 방법.
  3. 제1항에 있어서 상기 병렬 데이터 라인 중 특정 하나의 라인을 보호 기능 라인으로 설정하는 단계는 상기 하나의 라인에 '로우(logical low)'가 설정되면 상기 보호 기능 모드가 활성화되며 '하이(logical high)'가 설정되면 비활성화 됨을 특징으로 하는 램의 프로그램 영역을 보호하는 방법.
KR1020000007995A 2000-02-19 2000-02-19 메모리의 프로그램 영역 파손 방지 방법 KR20010081831A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000007995A KR20010081831A (ko) 2000-02-19 2000-02-19 메모리의 프로그램 영역 파손 방지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000007995A KR20010081831A (ko) 2000-02-19 2000-02-19 메모리의 프로그램 영역 파손 방지 방법

Publications (1)

Publication Number Publication Date
KR20010081831A true KR20010081831A (ko) 2001-08-29

Family

ID=19648009

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000007995A KR20010081831A (ko) 2000-02-19 2000-02-19 메모리의 프로그램 영역 파손 방지 방법

Country Status (1)

Country Link
KR (1) KR20010081831A (ko)

Similar Documents

Publication Publication Date Title
US4523271A (en) Software protection method and apparatus
US7708195B2 (en) Memory card
US5357473A (en) Semiconductor storage system including defective bit replacement
US5465349A (en) System for monitoring abnormal integrated circuit operating conditions and causing selective microprocessor interrupts
US5251304A (en) Integrated circuit microcontroller with on-chip memory and external bus interface and programmable mechanism for securing the contents of on-chip memory
US5317721A (en) Method and apparatus to disable ISA devices for EISA addresses outside the ISA range
KR960018880A (ko) 배경 모드에서 투명 동작을 갖는 데이타 처리기 및 그 방법
US7891556B2 (en) Memory access controller and method for memory access control
KR20020025793A (ko) 메모리 장치 및 메모리 액세스 제한 방법
US5535404A (en) Microprocessor status register having plural control information registers each set and cleared by on and off decoders receiving the same control data word
KR20010081831A (ko) 메모리의 프로그램 영역 파손 방지 방법
US5446873A (en) Memory checker
CN1249549C (zh) 微处理器阵列装置操作方法
US5619714A (en) Microcomputer having an instruction decoder with a fixed area and a rewritable area
JPH01123342A (ja) メモリの書込保護回路
KR930011347B1 (ko) 이동체 단말기의 전원 온/오프에 의한 불휘발성 메모리 오동작 보호회로
JPS6329859A (ja) 記憶保護装置
JPS6336349A (ja) マイクロプロセツサ内メモリの書込み防止回路
JPH05307506A (ja) 制御装置のデータ保護回路
US20040264231A1 (en) Portable electronic device capable of protecting specific block of flash memory chip
KR970063652A (ko) 프로그래머블 로직 콘트롤러의 모듈간 데이터 송수신 장치 및 방법
JPH0336650A (ja) メモリ保護方式
KR970062916A (ko) 바이트/비트 어드레싱이 가능한 메모리 구조
JP2004227421A (ja) シリアルeeprom書き込み方式
CA2010069A1 (en) Lock for register data in computer systems

Legal Events

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