서지주요정보
Low-cost transient error protections for memory systems = 메모리 시스템을 위한 저비용의 일시적 오류 보호 기법들
서명 / 저자 Low-cost transient error protections for memory systems = 메모리 시스템을 위한 저비용의 일시적 오류 보호 기법들 / Jeongkyu Hong.
발행사항 [대전 : 한국과학기술원, 2017].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8031600

소장위치/청구기호

학술문화관(문화관) 보존서고

DCS 17027

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Modern computing systems have been dramatically improved because of the continuing scaling of CMOS process technology. However, the miniaturization of process technology and increasing integration in nanometer regimes have made memory systems more vulnerable to various errors such as transient errors. In particular, cache and main memories are vulnerable to these errors because they operate at low voltage levels and include a large number of transistors. Moreover, the popular use of multi-level caches and growing memory size in general-purpose systems, even in embedded/mobile systems, increase the probability of errors occurring. Without proper protection of the memories, faults occurring in them will develop into errors, which will result in incorrect execution or system crash. To protect memory data from the transient errors, current memory systems typically employ error correcting codes (ECC), which incurs not only 12.5% of area overhead, but also increases computation delay and system power consumption. To address the overheads of conventional ECC schemes, this dissertation proposes four different low-cost error protection schemes. The first proposal is to effectively improve reliability of the tag array in the cache memories. Because of the spatial locality of programs, there are many tag bits whose values are the same with those of other tag bits in adjacent cache sets. This scheme exploits the tag bits similarity to improve reliability of tag bits against transient errors. When data are fetched from the main memory, it is checked if adjacent cache lines have the same tag bits as those of the data fetched. Using this same tag bit information, an error can be effectively corrected; the faulty tag bits is simply replaced with intact tag bits. The second proposal is to reduce ECC area overhead for cache data. The conventional ECC schemes for caches are based on a fixed mapping between cache data words and ECC check bits, and fixed ECC word granularity. This leads to inefficient usage of the ECC check bits. To effectively utilize ECC check bits, the proposed scheme protects only dirty cache words using a flexible mapping between SEC-DED check bits and dirty words, and variable SEC-DED word granularities. Finally, the proposed methods can reduce area overhead for error protection while maintaining the same performance as the conventional SEC-DED schemes. The third proposal, called SEA cache, is to minimizes ECC overheads, which further enhances the second proposal. SEA cache avoids the requirement for dedicated storage for ECC check bits, which are stored in cache lines as data. To effectively utilize cache space and enhance ECC efficiency, the proposed scheme groups several cache sets and manages them according to program behavior. SEA cache eliminates the considerable space overheads of conventional ECC schemes without noticeable reliability and performance degradation. The last proposal of this dissertation, called NZP, is to provide cost-effective ECC protections for the main memory. By exploiting relevant zero-valued data in the memory, NZP excludes storing zero-valued data, and the space used to store the zero data is assigned to ECC storage of nonzero-valued data. Further, strong ECC techniques are applied to data blocks with prevalent zero data space. Consequently, NZP can protect memory data and enhance reliability without requiring extra ECC space.

현재 컴퓨팅 시스템의 성능은 시모스 공정 기술의 지속적인 발전을 통해 매우 빠르게 발전해왔다. 그러나 공정기술 미세화와 트랜지스터 집적도의 증가는 메모리 시스템을 일시적 오류 등 다양한 오류에 취약하게 만드는 결과를 초래하였다. 특히 캐쉬 메모리와 주 메모리는 낮은 전압 수준에서 동작하고, 많은 수의 트랜지스터로 구성되어 있기 때문에 오류에 더욱 취약하다. 메모리에서 발생한 오류는 프로그램의 잘못된 실행 결과를 초래하거나 시스템의 오동작으로 연결될 수 있기 때문에, 메모리 데이터 보호를 위한 적합한 장치가 반드시 필요하며, 현재의 메모리 시스템은 오류 감지 및 복구 코드를 이용하여 메모리 정보를 보호하고 있다. 그러나, 오류 감지 및 복구 코드를 운용하기 위해선 이를 위한 추가적인 저장 공간이 필요하며, 데이터 접근 시간 증가, 시스템 전력 소비 증가 등 다양한 오버헤드가 동반된다. 본 학위논문에서는 현재의 메모리 보호 기법이 갖는 문제들을 완화하고 효율적으로 메모리 시스템을 보호하기 위한 기법들을 제안한다. 현재의 메모리 보호 기법이 갖는 다양한 오버헤드 중, 본 학위논문에서는 공간 오버헤드를 줄이는 것에 초점을 맞추고 있다. 첫번째로는, 캐쉬 메모리에서 태그 비트의 신뢰성을 효과적으로 향상시키는 기법을 논의한다. 프로그램의 공간적 지역성 때문에 캐쉬 라인의 태그 비트는 높은 확률로 인접한 다른 캐쉬 라인의 태그 비트와 같은 값을 갖게 된다. 이를 통해, 주 메모리로부터 데이터를 읽어 들일 때 인접한 캐쉬 라인들이 인출된 데이터와 동일한 태그 비트를 갖는지 확인하고, 그 정보를 오류를 수정하는데 사용한다. 즉, 태그 비트에 오류가 발생하면, 오류가 발생하지 않은 동일한 태그 비트로 교체하여 간단히 오류를 수정할 수 있다. 두번째로는, 캐쉬 메모리의 오류 복구 코드의 공간 오버헤드를 줄이는 기법을 논의한다. 기존의 메모리 보호 기법은 데이터와 오류 복구 코드와의 고정된 사상 관계와, 고정된 크기의 오류 복구 코드를 사용하였다. 하지만 본 기법은 수정된 데이터에 대해서만 오류 복구 코드를 지원하고, 다양한 크기의 오류 복구 코드를 동시에 사용하여, 오류 복구 코드의 효용성을 증대시켰다. 이로 인해 기존의 방법과 동일한 메모리 성능을 유지하면서 오류 복구 코드를 위한 공간 오버헤드는 효과적으로 줄일 수 있었다. 세번째로는, 오류 복구 코드를 위한 전용 공간을 완전히 없애고, 오류 복구 코드를 캐쉬 메모리 내에 데이터로 저장하는 기법을 논의한다. 캐쉬 데이터 공간이 줄어들게 되면서 발생할 수 있는 오버헤드를 줄이고 오류 복구 코드의 효율성을 높이기 위해, 오류 복구 코드 만을 저장하는 캐쉬 라인을 두며, 여러 개의 캐쉬 라인을 그룹화하여 프로그램 상태 및 메모리의 상황에 따라 동적으로 관리한다. 따라서, 제안된 캐쉬 구조는 성능과 신뢰성에 영향을 주지 않으며, 기존의 오류 복구 코드가 갖는 상당한 크기의 공간 오버헤드를 줄일 수 있다. 마지막으로, 주 메모리에 내재하는 많은 양의 0 데이터를 이용하여 효율적으로 메모리를 보호하는 기법을 논의한다. 0으로 이루어진 데이터를 저장 대상에서 제외하고, 0 데이터를 기록하는데 쓰인 공간을 0이 아닌 데이터의 오류 복구 코드를 저장하기 위한 목적으로 사용한다. 또한, 0 데이터의 비중이 높아 많은 여유 공간이 생기는 경우에는, 해당 공간에 보다 강력한 오류 복구 코드를 내재하여 데이터의 신뢰성을 높이는데 사용한다. 이로 인해 별도의 오류 복구 코드 저장공간을 두지 않으며, 주 메모리의 데이터를 효과적으로 보호하고 신뢰성을 높일 수 있다.

서지기타정보

서지기타정보
청구기호 {DCS 17027
형태사항 vi, 98 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 홍정규
지도교수의 영문표기 : Soon Tae Kim
지도교수의 한글표기 : 김순태
수록잡지명 : "Smart ECC Allocation Cache Utilizing Cache Data Space". IEEE TRANSACTIONS ON COMPUTERS, v.66.no.2, pp.368-374(2017)
학위논문 학위논문(박사) - 한국과학기술원 : 전산학부,
서지주기 References: p. 89-96
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서