• 제목/요약/키워드: Memory Access Error

검색결과 49건 처리시간 0.023초

어셈블리어 코드 기반의 메모리 오류 가능성 검출 (Detection of Potential Memory Access Errors based on Assembly Codes)

  • 김현수;김병만;배현섭;정인상
    • 정보처리학회논문지D
    • /
    • 제18D권1호
    • /
    • pp.35-44
    • /
    • 2011
  • 메모리 사용에 관련한 오류는 해당 프로그램뿐 아니라 시스템의 오작동을 유발할 수 있다. 특히 발생 빈도가 매우 낮은 일부 메모리 오류의 경우 제대로 된 동작 테스트를 할 수 없어, 오류에 대한 파악 및 수정이 힘들다. 이에 본 논문에서는 실행 프로그램을 역어셈블(Dis-Assemble)하여 만들어진 어셈블리어 코드를 구문 분석하여 명령어 전이도를 도출하고 이에 기반을 두어 메모리 사용 오류 가능성을 검출하는 방법을 제안하였다. 몇 가지 프로그램을 검사대상으로 선정하여 Local Memory Return Error, Null Pointer Access Error, Uninitialized Pointer Access Error를 검출하였으며 그 중 오픈 소스 프로젝트(Open Source Project)인 아파치 웹 서버와 PHP 스크립트 해석기에서도 메모리 사용 오류의 가능성이 있는 코드가 검출되었다.

자기진단 기능을 이용한 비동기용 불휘발성 메모리 모듈의 설계 (Design of Asynchronous Nonvolatile Memory Module using Self-diagnosis Function)

  • 신우현;양오;연준상
    • 반도체디스플레이기술학회지
    • /
    • 제21권1호
    • /
    • pp.85-90
    • /
    • 2022
  • In this paper, an asynchronous nonvolatile memory module using a self-diagnosis function was designed. For the system to work, a lot of data must be input/output, and memory that can be stored is required. The volatile memory is fast, but data is erased without power, and the nonvolatile memory is slow, but data can be stored semi-permanently without power. The non-volatile static random-access memory is designed to solve these memory problems. However, the non-volatile static random-access memory is weak external noise or electrical shock, data can be some error. To solve these data errors, self-diagnosis algorithms were applied to non-volatile static random-access memory using error correction code, cyclic redundancy check 32 and data check sum to increase the reliability and accuracy of data retention. In addition, the possibility of application to an asynchronous non-volatile storage system requiring reliability was suggested.

역어셈블에 기반한 포인터 참조 오류 검출 방법 (A Method of Detecting Pointer Access Error based on Disassembled Codes)

  • 김현수;김병만;허남철;신윤식
    • 한국산업정보학회논문지
    • /
    • 제20권5호
    • /
    • pp.13-23
    • /
    • 2015
  • 본 논문에서는 소프트웨어 구동 시 발생 가능한 메모리 오류 중 발생 빈도가 매우 낮은 일부 메모리 오류에 대해 실행 파일을 역어셈블하여 만들어진 어셈블리어의 구문을 분석하여 메모리 오류 가능성을 검출하는 방법을 제안한다. 몇 개의 프로그램을 대상으로 선정하고, 제안한 방법을 이용하여 메모리 오류 가능성을 검출한 결과, 약 만 개의 함수, 백만 라인의 어셈블리어 명령어에서 750여 개의 메모리 오류 가능성을 검출하였고, 검출에 걸린 시간은 총 90초 정도가 소요되었다.

모바일 플래시 파일 시스템 - MJFFS (A Mobile Flash File System - MJFFS)

  • 김영관;박현주
    • Journal of Information Technology Applications and Management
    • /
    • 제11권2호
    • /
    • pp.29-43
    • /
    • 2004
  • As the development of an information technique, gradually, mobile device is going to be miniaturized and operates at high speed. By such the requirements, the devices using a flash memory as a storage media are increasing. The flash memory consumes low power, is a small size, and has a fast access time like the main memory. But the flash memory must erase for recording and the erase cycle is limited. JFFS is a representative filesystem which reflects the characteristics of the flash memory. JFFS to be consisted of LSF structure, writes new data to the flash memory in sequential, which is not related to a file size. Mounting a filesystem or an error recovery is achieved through the sequential approach. Therefore, the mounting delay time is happened according to the file system size. This paper proposes a MJFFS to use a multi-checkpoint information to manage a mass flash file system efficiently. A MJFFS, which improves JFFS, divides a flash memory into the block for suitable to the block device, and stores file information of a checkpoint structure at fixed interval. Therefore mounting and error recovery processing reduce efficiently a number of filesystem access by collecting a smaller checkpoint information than capacity of actual files. A MJFFS will be suitable to a mobile device owing to accomplish fast mounting and error recovery using advantage of log foundation filesystem and overcoming defect of JFFS.

  • PDF

C언어 기반 프로그램의 동적 메모리 접근 오류 테스트 자동화 도구 설계 (Design of an Automated Testing Tool to Detect Dynamic Memory Access Errors in C Programs)

  • 조대완;오승욱;김현수
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제34권8호
    • /
    • pp.708-720
    • /
    • 2007
  • 메모리 접근연산으로부터 발생되는 프로그램 오류는 C언어로 작성된 테스트 대상 프로그램에서 가장 빈번하게 발생하는 오류이다[1,2]. 기존연구를 통해 이런 문제점을 해결하기 위한 다양한 메모리 오류 자동검출 방법들이 제안되었다. 하지만 기존의 오류검출방법은 테스트 대상 프로그램에 가해지는 부가적인 오버헤드가 매우 크거나 검출할 수 있는 메모리 접근오류의 종류가 제한적이다. 또한 메모리 할당함수의 내부구현에 의존성을 갖고 있기 때문에 플랫폼 간 이식성(portability)이 떨어지는 단점을 갖고 있다. 본 연구에서는 이러한 문제점을 해결하기 위해 새로운 메모리 접근오류 검출기법을 제안하고 테스트 자동화 도구를 설계하였다.

루프 검출 및 예측 방법을 적용한 비용 효율적인 실시간 분기 흐름 검사 기법 (A Cost-effective Control Flow Checking using Loop Detection and Prediction)

  • 김근배;안진호;강성호
    • 대한전자공학회논문지SD
    • /
    • 제42권12호
    • /
    • pp.91-102
    • /
    • 2005
  • 최근의 저 전력 컴퓨터 시스템은 내장 프로세서의 성능 향상과 공정 기술의 발전을 통한 디바이스 크기 감소로 인해 전압 변동, 커플링 효과 등으로 인한 SEU(single event upset)로 모델링 되는 천이고장으로 인한 예기치 못한 동작 중 에러 발생가능성이 매우 높아지고 있다. 제안하는 방식은 프로세서가 처리하는 프로그램 분기 흐름상에서 에러를 검출하는 효과적인 watchdog 프로세서 구조로서, 기존 방식이 가지는 오버헤드를 줄이면서 프로그램 내부에서 빈번히 발생되는 루프를 매번 검사할 때, 동일한 동작을 watchdog 프로세서가 반복함으로써 생기는 비효율적인 메모리 접근, 버스 점유 경쟁등과 같은 추가적인 시스템 수준의 오버헤드를 줄이는 새로운 방법을 제안하였다. 본 논문은 기존의 실시간 분기 및 제어 흐름 연구에서는 다루지 않았던 루프 검출 및 예측 기능을 추가함으로써 실제 시스템 적용에 보다 적합한 비용 효율적인 구조를 제안하고 있다.

SRAM의 읽기 및 쓰기 동작을 위한 Assist Block (Assist Block for Read and Write Operations of SRAM)

  • ;손민한;추현승
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2013년도 춘계학술발표대회
    • /
    • pp.21-23
    • /
    • 2013
  • Static Random Access Memory (SRAM) using CMOS technology has many advantages. It does not need to refresh every certain time, as a result, the speed of SRAM is faster than Dynamic Random Access Memory (DRAM). This is the reason why SRAM is widely used in almost processors and system on chips (SoC) which require high processing speed. Two basic operations of SRAM are read and write. We consider two basic factors, including the accuracy of read and write operations and the speed of these operations. In our paper, we propose the read and write assist circuits for SRAM. By adding a power control circuit in SRAM, the write operation performed successfully with low error ratio. Moreover, the value in memory cells can be read correctly using the proposed pre-charge method.

C언어 기반 프로그램의 소스코드 분석을 이용한 메모리 접근오류 자동검출 기법 (An automated memory error detection technique using source code analysis in C programs)

  • 조대완;오승욱;김현수
    • 정보처리학회논문지D
    • /
    • 제14D권6호
    • /
    • pp.675-688
    • /
    • 2007
  • 잘못된 메모리 접근으로부터 발생되는 오류는 C언어로 작성된 프로그램에서 가장 빈번하게 발생하는 오류이다. 이러한 오류를 자동으로 검출하기 위한 기존의 상용화 도구 및 연구결과는 수행시간에 테스트 대상 프로그램에 가해지는 부가적인 오버헤드가 매우 크거나 검출할 수 있는 메모리 접근오류의 종류가 제한적이다. 본 논문에서는 기존연구의 한계점을 개선한 새로운 메모리 접근오류 검출기법을 제안하고 실험을 통해 기존연구와의 비교분석을 수행하였다. 본 논문은 C언어 기반 프로그램의 소스코드 분석기법에 기반하고 있으며, 테스트 대상 프로그램에 할당된 동적 메모리 블록의 주소 범위에 대해 컬러링 기법을 적용한다. 본 논문에서 제안하는 오류검출기법은 기존의 바이너리 코드 분석기법에 비해 다양한 형태의 메모리 접근오류를 검출할 수 있으며, 테스트 대상 프로그램의 수행시간에 요구되는 메타데이터의 유지 및 갱신연산에 따른 공간 및 성능오버헤드가 기존의 소스코드 분석기법에 비해 개선되었다. 또한 본 논문에서 제안하는 기법은 테스트 대상 프로그램과 공유 라이브러리간의 호환성 문제를 일으키지 않으며, 메모리 할당함수의 내부 메커니즘을 변경하지 않는 특징을 갖고 있다.

어셈블리어 코드 기반의 Invalid Function Pointer Access Error 가능성 검출 (Detection of Potential Invalid Function Pointer Access Error based on Assembly Codes)

  • 김현수;김병만
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2010년도 춘계학술대회
    • /
    • pp.938-941
    • /
    • 2010
  • 일반적으로 컴파일러가 프로그램 번역시 메모리 사용 오류에 대한 검사도 병행하지만, 코드 레벨에서는 검사가 불가능한 함수 포인터는 정상적인 검사가 매우 힘들다. 이에 본 논문에서는 실행 프로그램을 역어셈블하여 만들어진 어셈블리 언어 프로그램을 구문 분석하여 함수 포인터 사용의 형태(패턴)를 어셈블리 명령어 전이도를 기반으로 "Invalid Function Pointer Access Error"에 대한 오류 가능성을 검출한다. 검사대상인 3개 프로그램은 약 10,000개의 함수와 1,000,000 개의 어셈블리 명령어로 구성되어 있으며, 본 논문에서 제안한 방법을 사용하여 함수 포인터의 사용 오류를 검출한 결과 1,100개의 함수 포인터 사용 중 약 500개의 비정상적 함수 포인터의 사용을 검출하였으며 검출에 걸린 시간은 총 82초 정도가 소요되었다.

  • PDF

효율적인 오류검출 방식의 낸드 플래시 컨트롤러 (A NAND Flash Controller with Efficient Error Detection Unit)

  • 백청택;이용환
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2007년도 추계종합학술대회
    • /
    • pp.768-771
    • /
    • 2007
  • 낸드 플래시 메모리는 최근 많은 디지털 기기에서 사용되고 있으며 그 용량과 성능면에서의 발전이 급격이 이루어지고 있다. 낸드 플래시 메모리는 읽고 쓰기 회수에 제한이 있어 이 수명이 다하면 데이터의 신뢰성을 보장하기 어렵다. 이 때문에 낸드 플래시 데이터의 오류를 검출하는 ECC(Error Correction Code) 알고리즘의 적용이 필수적이다. 기존에는 ECC 알고리즘을 논리 게이트로 구현하였으나 본 논문에서는 룩업 테이블 방식을 사용하여 신뢰성과 데이터 처리 시간을 향상시키고자 한다.

  • PDF