KR100759257B1 - 비 리프레시 디램을 이용한 컴퓨터 장치 - Google Patents

비 리프레시 디램을 이용한 컴퓨터 장치 Download PDF

Info

Publication number
KR100759257B1
KR100759257B1 KR1020027007279A KR20027007279A KR100759257B1 KR 100759257 B1 KR100759257 B1 KR 100759257B1 KR 1020027007279 A KR1020027007279 A KR 1020027007279A KR 20027007279 A KR20027007279 A KR 20027007279A KR 100759257 B1 KR100759257 B1 KR 100759257B1
Authority
KR
South Korea
Prior art keywords
processor
time
random access
dynamic random
access memory
Prior art date
Application number
KR1020027007279A
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 KR1020027007279A priority Critical patent/KR100759257B1/ko
Application granted granted Critical
Publication of KR100759257B1 publication Critical patent/KR100759257B1/ko

Links

Images

Abstract

컴퓨터 장치는 프로세서(5) 및 프로세서(5)에 접속되는 적어도 하나의 메모리 유닛(7,9,11,13)을 가지고, 다이나믹 랜덤 억세스 메모리(13)를 포함하고, 여기서, 컴퓨터 장치는 프로그램이 구동되는 동안 다이나믹 랜덤 억세스 메모리(13)의 적어도 일부를 리프레시하지 않고 이용한다.

Description

비 리프레시 디램을 이용한 컴퓨터 장치{COMPUTER ARRANGEMENT USING NON-REFRESHED DRAM}
본 발명은 프로세서, 프로세서에 접속되는 적어도 하나의 메모리 유닛 및 미리 설정된 유지 시간을 가지는 다이나믹 랜덤 억세스 메모리를 갖는 컴퓨터 장치에 관한 것으로서, 컴퓨터 장치는 다이나믹 랜덤 억세스 메모리의 적어도 일부에 저장 시간 동안 일시적으로 데이터가 저장됨과 동시에 프로세서 상의 미리 설정된 프로그램의 구동을 위해 배열된다.
EP-A-0 917 152는 반도체 회로 및 반도체 회로를 제어하기 위한 방법을 나타낸다. 상기 반도체 회로는 다이나믹 랜덤 억세스 메모리(DRAM)를 포함한다. 상기 발명의 목적은 적절한 전력 소모를 달성하기 위해, 상기 DRAM의 리프레싱 동작 시간의 주기를 감소시키기 위함이다. 이 목적은 회로의 논리부(logic potion)에 의해 사용되는 유효한 데이터를 포함하는 DRAM의 열(row)들만을 리프레시 함으로써 달성된다. 유효한 데이터를 포함하지 않은 DRAM 부분은 리프레시 되지 않으므로, 시간과 전력이 절감된다.
유효한 데이터를 포함하고 있는 DRAM의 이러한 부분에 대해서만 리프레싱 하는 유사한 기술들은 US-A-5.1148.546, US-A5.283.885 및 US-A-5.469.559에 공개되어 있다.
본 발명의 목적은 DRAM의 보다 효과적인 이용을 제공하고, 궁극적으로, DRAM의 어떠한 리프레시도 회피할 수 있는 방법 및 구성을 제공하는 것이다.
일반적으로, 모든 스마트 카드는 스태틱 RAM(SRAM) 셀로 구현된 칩을 갖는다. 메모리 어레이 이미징 기술(memory array imagining techniques)에 의해 상기한 램에서 강제적으로 데이터를 추출하는 것이 가능할 것이다. 그러므로, 일실시예에서, 내부에서 유지되고 있는 스캐닝 데이터에 의한 램 셀들로의 강제적인 침입(break-in)의 위험을 감소시키기 위해 상기와 같은 DRAM을 스마트 카드에 적용하는 것이 본 발명의 목적이다.
따라서, 본 발명에 따른 저장 시간은 유지 시간보다 짧고, 컴퓨터 장치는 프로그램이 구동되는 동안 데이터를 포함하는 다이나믹 랜덤 억세스 메모리의 적어도 일부가 리프레시 되지 않고 이용되는 구성을 가진다.
본 발명은 사용의 일정한 분야에서 명백하게는 (비접촉) 스마트 카드, 그것의 인지에 기초하고, 고유 시간 요구는 그것의 효과적인 사용을 위한 더 이상의 장애물이 아닌 DRAM 셀들에 의해 데이터의 리프레시 없는 제한된 유지와 같다.
DRAM 셀은 일반적으로 단일 (MOS) 트랜지스터를 이용하지만, 스태틱 형태의 RAM 셀은 4개 또는 그 이상의 (MOS) 트랜지스터를 필요로 한다. 본 발명에 따르면, DRAM의 부분은 프로그램이 구동되지 않기 때문에 DRAM 셀들에 데이터가 유지되는 시간은 DRAM 셀의 전기의 용량에 따라 결정된다. 유지 시간은 셀의 디자인 파라미터에 의해 결정된다. 많은 스마트 카드 어플리케이션에서, 데이터의 처리는 150ms 미만에서 완료되어야 한다. 예를 들어, 수백 ms의 유지 시간을 가지는 DRAM 셀들은 쉽게 디자인될 수 있다.
따라서, 어떤 연산을 실행하기 위한 필요 데이터는 적절하게 디자인된 DRAM 셀들에 필요한 만큼 길게 유지될 수 있다. 유지 시간이 경과한 후에, 모든 데이터는 소실될 것이고, 제공된 본 발명은 메모리로부터 고의로 데이터를 추출하는 장애를 증가시킴으로써 안전을 향상시킨다.
본 발명을 위한 한 방법은 리프레시 회로에 다이나믹 랜덤 억세스 메모리의 적어도 일부가 접속되지 않도록 실행된다. 다른 방법은 다이나믹 랜덤 억세스 메모리의 적어도 일부를 위한 현재의 리프레시 회로의 리프레시 기능을 억제시키는 것이다.
실리콘 칩에서 단일 DRAM 셀은 스태틱 RAM 셀보다 적은 공간을 필요로 하므로, 동일한 사이즈의 칩 면적을 사용하는 경우 DRAM 셀은 보다 큰 메모리 용량을 가진다. 다른 한편, 동일한 수의 필요 메모리 셀은 보다 작은 실리콘 영역을 필요로 한다. 스마트 카드에서 일반적으로 비교적 가장 큰 영역을 가지는 요소인 램은 이것이 특히 중요하다. 그러므로, 본 발명은 또한 스마트 카드 칩의 가격을 감소시킬 수 있다.
따라서, 본 발명은 상기에서 정의한 컴퓨터 장치를 가지는 스마트 카드를 제공한다.
한편, 본 발명은 오직 스마트 카드 또는 그와 유사한 것에만 관련된 것이 아니라 상기한 카드와 통신을 위한 단말기 구조의 컴퓨터와 관련된다.
본 발명은 단말기 프로세서 및 상기 단말기 프로세서에 연결된 단말기 통신 인터페이스를 구비하고, 컴퓨터 장치와 통신하되, 상기 컴퓨터 장치는 프로세서, 통신 인터페이스 및 적어도 하나의 메모리 유닛을 포함하되, 상기 통신 인터페이스 및 상기 적어도 하나의 메모리 유닛은 상기 프로세서에 연결되고, 상기 하나의 메모리 유닛은 미리 결정된 순서의 명령들을 가진 컴퓨터 프로그램을 저장하는 메모리 및 랜덤 억세스 메모리를 포함하고, 상기 컴퓨터 장치는 상기 프로그램의 구동 중 상기 데이터를 포함하는 상기 다이나믹 랜덤 억세스 메모리의 상기 적어도 일부를 리프레시하지 않고 이용하되, 상기 단말기 프로세서는
(a) 상기 컴퓨터 프로그램을 에뮬레이팅하는 단계;
(b) 상기 컴퓨터 장치의 프로세서가 상기 순서의 명령들의 각 명령을 실행하기 위해 필요한 시간 주기를 분석하고, 상기 순서의 명령들을 수행하는 동안 상기 프로세서가 일시적으로 데이터를 상기 적어도 일부의 상기 다이나믹 랜덤 억세스 메모리에 저장하는데 필요한 모든 유지 시간들을 판정하는 단계;
(c)미리 설정된 리프레시 시간보다 긴 상기 유지 시간을 위한 연속적인 명령 세트를 설정하는 단계;
(d)상기 연속적인 명령 세트를 위한 변경된 유지 시간을 획득하기 위한 추가 적인 명령들을 상기 연속적인 명령 세트에 추가하는 단계-상기 변경된 유지 시간은 상기 미리 설정된 리프레시 시간보다 짧음을 특징으로 하는 단말기에 관한 것이다.
"단말기"라는 용어는 위에서 정의된 DRAM 메모리를 포함하는 컴퓨터 장치와 통신하기 위해 구성된 어느 형태의 컴퓨터 장치와 같이 넓게 해석되어진다. 더욱이, "단말기 프로세서'라는 용어는 이 프로세서를 하나의 단일 프로세서로 한정하기 위한 의도가 아니다. 그것은 몇몇의 병렬 처리 및 통신 서브 프로세서를 포함할 것이고, 그것의 일부는 단말기의 외부에 물리적으로 위치할 수도 있다.
더욱 더 추가된 컴퓨터 장치를 이용함에 의해, 프로세서에 의해 수행되어지는 프로그램에 의해 데이터가 저장되는 것이 확실한 데이터는 DRAM 셀들의 유지 시간보다 더 오래 DRAM 셀들에 유지될 필요가 없다. 그러므로, 정말로 그것의 컴퓨터 프로그램에 의해 실행되는 프로세서를 위한 리프레시 회로는 필요하지 않다.
다른 실시예에서, 본 발명은 컴퓨터 장치에서 프로그램을 구동하는 방법에 관한 것으로서, 컴퓨터 장치는 프로세서 및 상기 프로세서에 연결된 적어도 하나의 메모리 유닛을 포함하고, 미리 결정된 유지 시간을 갖는 다이나믹 랜덤 억세스 메모리를 포함하며, 상기 방법은 저장 시간 동안 상기 다이나믹 랜덤 억세스 메모리의 적어도 일부에 일시적으로 데이터를 저장하면서, 미리 결정된 프로그램을 상기 프로세서에서 실행하는 단계를 포함하되, 상기 저장 시간은 상기 유지 시간 보다 짧고, 상기 방법은 상기 프로그램의 구동 중 상기 데이터를 포함하는 상기 다이나믹 랜덤 억세스 메모리의 상기 적어도 일부를 리프레시하지 않고 이용하는 단계를 더 포함한다.
더욱이, 본 발명은 컴퓨터 장치에서 실행 가능한 명령어들을 포함하는 컴퓨터 프로그램에 관한 것으로서, 컴퓨터 장치는 프로세서 및 상기 프로세서에 연결된 적어도 하나의 메모리 유닛을 포함하고, 미리 결정된 유지 시간을 갖는 다이나믹 랜덤 억세스 메모리를 포함하며, 상기 컴퓨터 장치에서 구동중인 상기 컴퓨터 프로그램은 저장 시간 동안 일시적으로 데이터를 적어도 일부의 상기 다이나믹 랜덤 억세스 메모리에 저장하는 단계를 포함하되, 상기 저장 시간은 상기 유지 시간 보다 짧고, 상기 컴퓨터 프로그램은 상기 프로그램의 구동 중 상기 데이터를 포함하는 상기 다이나믹 랜덤 억세스 메모리의 상기 적어도 일부를 리프레시하지 않고 이용하는 단계를 더 포함한다.
끝으로, 본 발명은 상기에서 정의한 컴퓨터 프로그램을 포함하는 컴퓨터 판독 수단에 관한 것이다.
본 발명은 참조 도면을 참조하여 설명하는데, 참조 도면은 첨부된 청구항에 의한 본 발명의 범위를 제한하기 위한 것은 아니다.
도 1은 스마트 카드와 단말기가 서로 통신을 하기 위하여 구성된 것을 나타낸 도면.
도 2는 비 리프레시 DRAM을 이용한 컴퓨터 장치를 개략적으로 나타낸 도면.
도 3은 DRAM을 네 개의 메모리 뱅크로 나눈 것을 개략적으로 나타낸 도면.
도 4는 DRAM 셀의 정확한 동작을 체크하기 위한 워드 라인 구성에서 일정 메 모리 셀의 사용을 개략적으로 나타낸 도면.
도 5는 DRAM 셀의 양이 적정량인지를 체크하기 위한 과정을 나타낸 플로우 챠트.
도 6은 메모리 셀에서 데이터의 최대 유지 시간이 DRAM 셀의 설정된 유지 시간보다 짧은 경우 컴퓨터 프로그램을 수정하기 위한 과정을 나타낸 플로우 챠트.
본 발명은 스마트 카드 어플리케이션을 참조하여 설명될 것이다. 그러나, 본 발명의 사상은 스마트 카드 기술 분야 이외에서도 사용될 수 있음은 자명하다.
도 1은 통신 인터페이스(3)를 갖는 스마트 카드(1)를 나타낸다. 상기 통신 인터페이스(3)는 금속성 패드를 포함한다. 한편, 비접촉 실시예에서, 인터페이스는 예를 들어, 도 1의 코일(3')과 같은 점선으로 표시된 안테나를 포함한다. 이러한 스마트 카드는 널리 알려져 있다. 도 1은 또한 스마트 카드(1)와 통신을 수행하기 위한 단말기(2)를 개략적으로 나타낸다. 그러므로, 상기 단말기(2)는 상기 스마트 카드(1)의 인터페이스(3)와 통신을 위한 통신 인터페이스(4)를 갖는다. 상기한 접속의 상세 기술은 본 분야에서 통상의 지식을 가진 자에게 알려진 기술이다.
단말기(2)는 통신 인터페이스(4)와 연결된 프로세서(6)를 포함한다. 통신 인터페이스(4)를 통해, 프로세서(6)는 스마트 카드(1)의 프로세서(도 1에 도시되지 않음)와 통신할 수 있다.
프로세서(6)는 하나의 블록으로 표시되어 있다. 그러나, 바람직하다면, 프로 세서(6)는 미리 설정된 작업을 수행하도록 되어 있는 상호간에 통신하는 복수의 서브 프로세서들로 구현될 수 있다. 상기 하나 또는 그 이상의 서브 프로세서들은 단말기(2)의 외부에 위치될 수 있다. 바람직하게는, 프로세서(6)(또는 서브 프로세서들)는 적절한 소프트웨어를 가지는 컴퓨터로 구현될 수 있다. 그러나, 가능하다면, 프로세서는 전용 디지털 회로들로 구현될 수 있다.
도 2에 도시된 바와 같이, 스마트 카드(1)의 통신 인터페이스(3)는 프로세서(5)에 연결된다. 본 발명에 따르면, 프로세서(5)는 DRAM(Dynamic Random Access Memory) 셀들을 포함하는 적어도 제1 메모리 뱅크(13)에 연결된다.
본 발명의 바람직한 일 실시예에 따르면, DRAM의 적어도 일부(13)는 리프레시 회로에 연결되지 않는다. 도 2에 도시된 로직 구성(logic arrangement)이 스마트 카드 어플리케이션에서 사용될 경우, 바람직하게는 리프레시 회로는 전혀 적용되지 않는다. 이것은 상기한 단일 칩 컴퓨터에서 공간 및 회로를 절약한다. 물론, 다른 어플리케이션에서 리프레시 회로를 전혀 적용하지 않을 수 있다.
DRAM(13)은 분리된 로직 회로(15)에 연결될 수 있으며, 이것의 동작은 이하에서 설명되어진다. 로직 회로(15)는 컴퓨팅 유닛(computing unit)(17) 또는 통신 인터페이스(3) 중 어느 하나에 접속된다. 한편, 로직 회로는 컴퓨팅 유닛(17) 및 통신 인터페이스(3)에 동시에 접속될 수도 있다. 실제로, 프로세서(5), 로직 회로(15) 및 컴퓨팅 유닛(17)은 하나의 프로세싱 유닛으로 구현될 수 있다. 더욱이, 도 2의 다른 모든 유닛은 싱글 집적 회로로 구현될 수 있다.
바람직하게 프로세서(5)는 SRAM(Static Random Access Memory) 셀들을 포함 하는 제2 메모리 영역(11)에도 접속된다.
바람직하게, 프로세서(5)에 연결된 EEPROM(7)과 같은 비휘발성 메모리 또한 제공된다. 대부분의 어플리케이션에서, 프로세서(5)에 연결된 ROM(Read Only Memory)(9)도 제공된다.
SRAM, EEPROM 및 ROM이 제공되면, 바람직하게 컴퓨팅 유닛(17)은 ROM(9), EEPROM(7) 및 SRAM(11)에도 연결된다.
프로세서(5)가 인터페이스(3)를 통한 컴퓨터간 통신에서 응답 구성 요소로서 이용되어 질 때, ROM(9), 가능한 SRAM(11) 및 EEPROM(7)은 프로세서(5) 및 가능하다면 컴퓨팅 유닛(17)의 동작도 결정하는 컴퓨터 프로그램을 포함한다. 스마트 카드 어플리케이션에서, 상기와 같은 컴퓨터간 통신은 일반적으로 명령 및 응답 교환들로 구성되고, 명령 및 응답 교환은 매우 짧은 기간동안 제한된다. 비접촉 스마트카드에서, 통신을 위한 사용 가능 시간은 일반적으로 대략 150ms이다. 그와 같은 짧은 시간동안 스마트 카드(1)는 명령으로 동작하는 하나 또는 그 이상의 데이터 전송을 수신한다. 프로세서(5)는 일반적으로 암호 연산 및 비휘발성 메모리(7)를 업데이트 하기 위한 지시를 포함하는 명령을 수행한다. 상기한 프로세싱 마지막 단계에서, 프로세서(5)는 그 응답을 보낸다.
지금까지는, DRAM 셀들의 사용은 스마트 카드 어플리케이션을 위해서 신중하게 고려되지 않았다. 그것들은 고유의 한정된 유지 시간 때문에 너무 신뢰할 수 없고, 한정된 유지 시간을 보상하기 위한 추가적인 온-칩(on-chip) 리프레시 로직 회로가 필요함으로 인해 가격 효과가 없다고 검토되어 왔다.
현재, 종래 기술에 반하여, 본 발명에 따른 구성은, 바람직한 실시예에서, 적어도 일부가 리프레시 회로에 접속되지 않는 DRAM 셀(13)을 포함한다. 어플리케이션 분야 때문에, 타이밍 제약들로 인해 리프레시 회로가 부적절하다는 것이다. 그러한 타이밍 제약들은 사용자에 의해 단말기의 통신 범위를 관통하여 이동되는
스마트 카드 칩이 겪는 장력 변동(field strength fluctuation)으로 인해, 모든 데이터 교환 및 처리가 반드시 150 ms 이내에서 완료되어야 하는 비접촉 스마트 카드 응용에서 가장 중요하다.
한편, 비접촉 스마트 카드 어플리케이션과는 다른 분야에서는 본 발명이 보다 유용하게 적용될 수 있다. 일반적으로, 본 발명에 따르면, 필요한 저장시간 동안 다이나믹 랜덤 억세스 메모리(13)에 일시적으로 저장되어야하는 정보를 필요로 하는 프로세서에서 미리 설정된 프로그램이 구동된다. 연속되는 프로그램 단계들의 수행과 같이 프로그램을 구동하는 동안 유효한 데이터의 모든 부분에 대한 저장 시간은 다이나믹 랜덤 억세스 메모리(13)에 의해 사용되는 유지 시간 보다 짧다. 그러므로, DRAM의 리프레시 주기는 더 이상 필요하지 않고, 리프레시는 더 이상 사용되어지지 않을 것이다.
실제로, 본 발명에 따라 구현된 칩들은 리턴 스택, 필수적인 보안 또는 프로그램 상태값 등의 데이터를 저장하기 위한 스태틱 셀(static cell)로 구현된 제한된, 예를 들어 128 바이트의 RAM 저장 장치를 여전히 보유할 것이다. DRAM의 기본적인 메모리 셀은 일반적으로 SRAM의 기본적인 셀보다 적어도 4 배 이상 작으므로, 본 발명에 따른 칩은 동일한 가격에서 평균 4 배 많은 메모리를 평균적으로 제공할 수 있다.
본 발명의 다른 장점은 DRAM(13)을 단일 제어 어레이로 구현하지 않고 도 3에 도시된 바와 같이, 2 또는 그 이상의 독립적으로 제어되고 동시에 접속 가능한 저장 뱅크(independently controlled simultaneously accessible bank)들(13(1), 13(2), 13(3), 13(4))로 구현함으로써 얻을 수 있다. 도 3은 네 개의 저장 뱅크를 도시하고 있으나, 저장 뱅크의 수가 달라질 수 있음은 자명하다. 많은 개별적인 저장 뱅크(different bank)를 사용하는 것은 단일 칩 컴퓨터 장치에서 추가적인 로직 회로의 사용을 편리하게 한다. 그러한 부가적인 로직 회로는 복수의 뱅크 중 오직 하나의 뱅크, 예를 들어 뱅크(13(1))를 사용하는 동안 부가적인 암호 연산을 수행하는 부가적인 컴퓨팅 유닛(17)과 같은 형태의 보조 프로세서에 관한 것일 수 있다.
그러한 목적을 위해, 모든 뱅크들(13(1),...,13(4))은 어드레스 버스, 데이터 버스, 읽기 라인 및 쓰기 라인(도 3 참조)에 접속된다. 이러한 개별의 라인들에 의해 전송되는 신호들은 당해 분야의 당업자들에게 잘 알려진 것이다. 어드레스 버스를 이용하여, 컴퓨팅 유닛(17)은 뱅크(13(1))의 메모리 셀들에 어드레스 할 수 있으나 이 메모리 셀들은 프로세서(5)에 접근할 수 없다. 분할된 컴퓨팅 유닛(17)을 제공함으로써, 연산은 동시에 실행 가능하고, 예를 들어, 150ms의 요구된 타이밍 제한 내에서 하나의 프로세스가 실행되는 것을 보장한다.
도 3은 매우 개략적임을 알 수 있다. 구성은 복수의 메모리 뱅크들(13(1), 13(2), 13(3), 13(4)) 중 적어도 하나의 메모리 뱅크가 다른 메모리 뱅크들로부터 독립적으로 선택되어질 수 있다. 이는 어드레스 버스, 데이터 버스, 읽기 및 쓰기 라인에 멀티플렉싱 기술을 적용함으로써 이루어질 수 있다. 한편, 이것은 당해 분야의 당업자에게 알려진 바와 같이 각각이 서로 독립적인 메모리 뱅크에 구분된 어드레스 버스, 데이터 버스, 읽기 및 쓰기 라인들을 제공함으로써도 이루어질 수 있다.
로직 회로(15)를 경유하여 DRAM(13)에 접속하는 컴퓨팅 유닛(17) 대신에 또는 컴퓨팅 유닛(17)에 더하여, DMA(Direct Memory Access) 통신 절차가 구비되어질 수 있다. 그러한 목적을 위해, 로직 회로(15)는 DRAM(13)에 직접적으로 억세스 할 수 있는 외부 프로세서(예를 들어, 단말기(2)의 프로세서(6))와 같은 통신 인터페이스(3)에 접속된다. 바람직하게는, 상기한 DMA 통신 절차를 통하여, 외부 프로세서는 오직 뱅크들(13(1),...13(4))중 어느 하나에 접속을 획득하는 것이 가능하다. 이것은 실행 속도를 증가시키고, 전원 소비를 감소시킬 수 있다. 예를 들어, RISC(=Reduced Instruction Set Computer)와 같은 비 전통적인 CPU 형태는 복수 뱅크를 갖는 RAM으로부터 이익을 얻을 수 있었다.
관례적으로, DRAM 셀들은 다중 바이트의 데이터를 저장하기 위한 많은 수의 메모리 셀을 각각 포함하는 많은 수의 워드 라인으로 구성된 직사각형 구조로 구성된다. 상기한 워드 라인 중의 하나는 도 4에 개략적으로 도시된다. 각각의 DRAM 셀들로부터 정확하지 않은 데이터를 재생하는 결과를 초래하는 개개의 DRAM 셀들의 최대 유지 시간보다 예상치 못할 정도로 긴 저장 주기를 방지하기 위하여, 각 워드 라인은 메모리 영역에서 하나 또는 그 이상의 "증거" 저장 셀(witness storage cell)들을 가질 수 있다. 도 4는 워드 라인의 오른쪽에서 4개의 "증거" 저장 셀들이 사용되는 상황을 나타낸 도면이다. 도 5의 단계 50에 나타난 바와 같이, 이 4개의 저장 셀들은 워드 라인의 최초 쓰기 동작에서 도 4의 0110과 같은 형태의 미리 설정된 패턴을 갖도록 제공된다. 물론, 미리 설정된 로직값의 다른 형태도 사용될 수 있다. 또한, "증거" 저장 셀들의 개수는 다를 수 있다. 도 5의 단계 52에서, "증거" 저장 셀들은 워드 라인 셀들에 저장된 각 시간 데이터를 프로세서(5) 또는 컴퓨팅 유닛(17)(도4에 도시되지 않음)과 같은 다른 추가적인 로직 프로세서에 의해 판독(read)된다. 도 5의 단계 54에서, 프로세서(5)(또는 다른 추가적인 프로세서)에 접속된 체킹 로직(19)은 "증거" 셀들로부터 판독된 데이터 패턴이 미리 설정된 로직 패턴과 계속적으로 동일한지를 체크한다. 단계 56에서, 만약 현재의 데이터 패턴이 미리 설정된 로직 패턴과 더 이상 존재하지 않으면, 체킹 로직(19)은 경고 신호를 프로세서(5)(또는 다른 관계된 프로세서)로 전송한다. 상기의 경고 신호는 프로세서(5)(또는 다른 관련된 프로세서)에 의해 판독된 임의의 데이터의 판독 실패로 해석되어진다. 이후 적절한 실행 예외가 실제 프로그램의 정상적인 종료를 방해한다. 만약 어떤 실패도 검출되지 않는다면, 현재의 프로그램은 구동을 계속할 수 있다. 이 메커니즘은 부정확한 데이터가 연산에 이용되도록 하는 인위적인 처리 시간의 연장에 의해 증가되는 칩의 무결성에 대한 공격으로부터 방어하기 위해 이용될 수 있다.
도 4에서, 체킹 로직(19)은 프로세서와 분리된 유닛으로 도시되었지만, 체킹 로직(19)은 프로세서(5)(또는 관련된 어느 프로세서)의 일부분일 수도 있다.
"증거" 저장 셀들은 일반적으로 디자인된 워드 라인의 일부일 수 있다. 그러나, 선택적으로, 일반적으로 디자인된 워드 라인은 상기와 같은 "증거" 저장 셀들에 의해 연장될 수 있다. 일실시예에서, 이러한 "증거" 저장 셀들은 동일한 워드 라인의 다른 메모리의 데이터 유지 시간 보다 예를 들어 5-10% 짧은 데이터 유지 시간을 갖도록 디자인된다. 따라서, "증거" 저장 셀의 내용이 정확하다는 것을 감지하자마자 동일한 원드 라인의 다른 저장 셀의 내용은 판독 시간 내에 여전히 정확하다고 할 수 있다.
다른 실시예에서, DRAM 셀을 제조한 후 워드 라인에 포함된 어떤 메모리 셀이 가장 짧은 회복 시간을 보이는지가 테스트된다. 이러한 하나 또는 그 이상의 셀들은 이후에 "증거" 셀들로 사용되어질 수 있다.
본 발명으로부터 효과를 얻고, DRAM(13)의 타이밍 제한에의 일치를 확인하기 위해, 예를 들어, ROM(9) 또는 EPROM(7)에 로드된 소프트웨어는 저장 타이밍에 관해서는 단말기(2)의 프로세서(6)에 의해 전처리(preprocess)되고, 최적화될 수 있다. 프로세서(6)는 소프트웨어를 컴파일하기 위해서 구성된다. 전처리가 이루어지는 동안, 프로세서(6)는 프로세서(5)가 소프트웨어의 각 명령을 수행하기 위해 필요한 시간 주기 및 소프트웨어가 구동되는 동안 프로세서(5)(또는 DRAM(13)을 사용하는 컴퓨팅 유닛(17)과 같은 다른 프로세서)가 DRAM(13)에 데이터를 일시적으로 저장하기 위해 필요한 모든 유지 시간을 분석한다.
도 6은 프로세서에 의해 전처리 프로그램이 실행되는 단계를 나타낸 도면이다. 단계 60에서 프로그램을 에뮬레이션한 후, 단계 62에서 프로세서(6)는 소프트 웨어의 실행 코드의 모든 섹션(section)을 분석하고, 단계 64에서, 프로세서(6)는 코드 섹션에 의해 사용된 저장 데이터의 업데이트 사이의 시간을 계산한다. 이어, 단계 66에서 프로세서(6)는 DRAM(13)의 특정된 리프레시 시간보다 긴 유지 시간을 위한 프로그램의 연속적인 명령의 집합을 설정한다. 프로그램 루프를 풀고, 읽은 후 쓰기 저장 지역을 명시하기 위한 부가적인 명령, 예를 들어, 인위적인 리프레시 동작의 일종을 삽입하는 것과 같은 코드 재구성에 대하여 공지된 기술들이 소프트웨어에 의해 DRAM(13)에 저장된 모든 데이터가 메모리 셀 유지 기간이 종료되기 전까지 올바르게 사용되는 것을 보장하기 위해 이용된다. 전통적인 리프레시 회로를 사용하지 않고서, 모든 DRAM 셀들이 정해진 시간에 리프레시 된다.
상기한 바와 같이, 본 발명은 DRAM(13)이 리프레시 회로에 물질적으로 접속되지 않은 실시예를 참조하여 설명되었다. 그러나, 본 발명의 원리는 리프레시 회로를 포함하는 현재의 컴퓨터 장치의 리프레시 기능을 억제함으로써 적용될 수 있다. 그러한 실시예에서, 기존 리프레시 회로는 제거될 필요가 없다.

Claims (15)

  1. 컴퓨터 장치에 있어서,
    상기 컴퓨터 장치는,
    프로세서(5);
    상기 프로세서(5)에 접속되는 적어도 하나의 메모리 유닛(7, 9, 11, 13)을 포함하고,
    미리 설정된 유지 시간을 갖는 다이나믹 랜덤 억세스 메모리(13)를 포함하되-여기서, 상기 유지 시간은 리프레시되지 않는 동안 상기 다이나믹 랜덤 억세스 메모리(13) 안에 유지되는 시간 데이터임-,
    상기 컴퓨터 장치는 상기 다이나믹 랜덤 억세스 메모리(13)의 적어도 일부에 저장 시간 동안 데이터를 일시적으로 저장하면서 실행가능한 코드의 섹션들을 가지는 미리 설정된 프로그램을 상기 프로세서(5)에서 실행하며-여기서, 상기 저장 시간은 실행가능한 코드의 섹션들에 의해 사용되는 저장된 데이터의 업데이트 사이의 시간임-,
    상기 저장 시간(storage time)은 상기 유지 시간(retention time)보다 짧으며,
    상기 컴퓨터 장치는 상기 프로그램의 구동 중 상기 데이터를 포함하는 상기 다이나믹 랜덤 억세스 메모리(13)의 상기 적어도 일부를 리프레시하지 않고 이용하도록 하는 것을 특징으로 하는 컴퓨터 장치.
  2. 제1항에 있어서,
    상기 다이나믹 랜덤 억세스 메모리(13)의 상기 적어도 일부는 리프레시 회로에 접속되지 않음을 특징으로 하는 컴퓨터 장치.
  3. 제1항에 있어서,
    상기 다이나믹 랜덤 억세스 메모리(13)의 상기 적어도 일부는 둘 또는 그보다 많은 메모리 뱅크들(13(1), 13(2), 13(3), 13(4))로 구분되고, 상기 각 메모리 뱅크들(13(1), 13(2), 13(3), 13(4))은 데이터의 저장 및 재생을 위하여 독립적으로 접근될 수 있는 것을 특징으로 하는 컴퓨터 장치.
  4. 제3항에 있어서,
    상기 다이나믹 랜덤 억세스 메모리(13)의 상기 적어도 일부의 더 추가된 부분(13(1))은 추가된 로직 회로(15)에 의해 제어됨을 특징으로 하는 컴퓨터 장치.
  5. 제4항에 있어서,
    상기 추가된 로직 회로(15)는 통신 인터페이스(3)에 접속됨을 특징으로 하는 컴퓨터 장치.
  6. 제4항에 있어서,
    상기 추가된 로직 회로(15)에 연결되는 컴퓨팅 유닛(17)을 포함함을 특징으로 하는 컴퓨터 장치.
  7. 제1항에 있어서,
    상기 다이나믹 랜덤 억세스 메모리(13)는 복수의 워드 라인을 구비하고,
    각 워드 라인은 메모리 셀들의 구성을 포함하고,
    적어도 하나의 상기 워드 라인은 상기 프로세서(5)에 연결된 체킹 로직 회로(19)에 연결된 일련(series)의 하나 또는 그 이상의 메모리 셀들을 포함하고,
    상기 프로세서(5)가 상기 적어도 하나의 워드 라인에 데이터를 기록할 때마다 상기 일련의 하나 또는 그 이상의 메모리 셀들에 미리 설정된 로직값들을 기록하는 단계;
    상기 프로세서(5)에 의해 적어도 하나의 워드 라인이 판독될 때마다 상기 일련의 하나 또는 그 이상의 메모리 셀들의 실제 내용을 판독하는 단계;
    상기 실제 내용이 상기 미리 설정된 로직값들과 동일한지를 체크하는 단계;
    상기 실제 내용이 미리 설정된 값과 같지 않음을 검출하면 경고 신호를 상기 프로세서(5)로 전송하는 단계
    를 실행함을 특징으로 하는 컴퓨터 장치.
  8. 제7항에 있어서,
    상기 적어도 하나의 워드 라인의 상기 일련의 하나 또는 그 이상의 메모리 셀들은 상기 적어도 하나의 워드 라인의 다른 메모리 셀들보다 작은 메모리 유지 시간을 가지는 메모리 셀들을 이용하여 구현됨을 특징으로 하는 컴퓨터 장치.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 컴퓨터 장치는 싱글 칩 구성 형태로 구현됨을 특징으로 하는 컴퓨터 장치.
  10. 제1항 내지 제8항 중 어느 한 항에 따른 컴퓨터 장치를 포함하는 스마트 카드.
  11. 단말기 프로세서(6) 및 상기 단말기 프로세서(6)에 연결된 단말기 통신 인터페이스(4)를 포함하고, 컴퓨터 장치와 통신하는 단말기(2)에 있어서,
    상기 컴퓨터 장치는,
    프로세서(5);
    통신 인터페이스(3) 및
    적어도 하나의 메모리 유닛(7, 9, 11, 13)을 포함하되,
    상기 통신 인터페이스(3) 및 상기 적어도 하나의 메모리 유닛(7, 9, 11, 13)은 상기 프로세서(5)에 연결되고,
    상기 하나의 메모리 유닛은 미리 결정된 순서의 명령들을 가진 컴퓨터 프로그램을 저장하는 메모리(7, 9, 11) 및 랜덤 억세스 메모리(13)를 포함하고,
    상기 컴퓨터 장치는 상기 프로그램의 구동 중 상기 데이터를 포함하는 상기 다이나믹 랜덤 억세스 메모리(13)의 상기 적어도 일부를 리프레시하지 않고 이용하되,
    상기 단말기 프로세서(6)는
    상기 컴퓨터 프로그램을 에뮬레이팅하는 단계;
    상기 컴퓨터 장치의 프로세서(5)가 상기 순서의 명령들의 각 명령을 실행하기 위해 필요한 시간 주기를 분석하고, 상기 순서의 명령들을 수행하는 동안 상기 프로세서(5)가 일시적으로 데이터를 상기 적어도 일부의 상기 다이나믹 랜덤 억세스 메모리(13)에 저장하는데 필요한 모든 저장 시간들을 판정하는 단계;
    상기 다이나믹 랜덤 억세스 메모리(13)의 상기 적어도 일부에 대해 특정된 미리 설정된 리프레시 시간보다 긴 상기 저장 시간을 위한 연속적인 명령 세트를 설정하는 단계;
    상기 연속적인 명령 세트를 위한 변경된 저장 시간을 획득하기 위한 추가적인 명령들을 상기 연속적인 명령 세트에 추가하는 단계를 수행하며-상기 변경된 저장 시간은 상기 미리 설정된 리프레시 시간보다 짧음을 특징으로 하는 단말기.
  12. 컴퓨터 장치에서 프로그램을 구동하는 방법에 있어서,
    상기 컴퓨터 장치는
    프로세서(5) 및
    상기 프로세서(5)에 연결된 적어도 하나의 메모리 유닛(7, 9, 11, 13)을 포함하고,
    미리 결정된 유지 시간을 갖는 다이나믹 랜덤 억세스 메모리(13)를 포함하며-여기서, 상기 유지 시간은 리프레시되지 않는 동안 상기 다이나믹 랜덤 억세스 메모리(13) 안에 유지되는 시간 데이터임-,
    상기 방법은,
    저장 시간 동안 상기 다이나믹 랜덤 억세스 메모리(13)의 적어도 일부에 일시적으로 데이터를 저장하면서, 실행가능한 코드의 섹션들을 가지는 미리 결정된 프로그램을 상기 프로세서(5)에서 실행하는 단계를 포함하되-여기서, 상기 저장 시간은 실행가능한 코드의 섹션들에 의해 사용되는 저장된 데이터의 업데이트 사이의 시간임-,
    상기 저장 시간은 상기 유지 시간 보다 짧고,
    상기 방법은,
    상기 프로그램의 구동 중 상기 데이터를 포함하는 상기 다이나믹 랜덤 억세스 메모리(13)의 상기 적어도 일부를 리프레시하지 않고 이용하는 단계를 더 포함하는 프로그램 구동 방법.
  13. 컴퓨터 장치에서 실행 가능한 명령어들을 포함하는 컴퓨터 프로그램을 기록한 기록매체에 있어서,
    상기 컴퓨터 장치는,
    프로세서(5) 및
    상기 프로세서(5)에 연결된 적어도 하나의 메모리 유닛(7, 9, 11, 13)을 포함하고,
    미리 결정된 유지 시간을 갖는 다이나믹 랜덤 억세스 메모리(13)를 포함하며-여기서, 상기 유지 시간은 리프레시되지 않는 동안 상기 다이나믹 랜덤 억세스 메모리(13) 안에 유지되는 시간 데이터임-,
    상기 컴퓨터 장치에서 구동중인 상기 컴퓨터 프로그램은
    저장 시간 동안 일시적으로 데이터를 적어도 일부의 상기 다이나믹 랜덤 억세스 메모리(13)에 저장하는 단계를 포함하되-여기서, 상기 저장 시간은 실행가능한 코드의 섹션들에 의해 사용되는 저장된 데이터의 업데이트 사이의 시간임-,
    상기 저장 시간은 상기 유지 시간 보다 짧고,
    상기 컴퓨터 프로그램은 상기 프로그램의 구동 중 상기 데이터를 포함하는 상기 다이나믹 랜덤 억세스 메모리(13)의 상기 적어도 일부를 리프레시하지 않고 이용하는 단계를 더 포함하는 컴퓨터 프로그램을 기록한 기록매체.
  14. 삭제
  15. 제9항에 따른 컴퓨터 장치를 구비한 스마트 카드.
KR1020027007279A 1999-12-06 2000-12-06 비 리프레시 디램을 이용한 컴퓨터 장치 KR100759257B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020027007279A KR100759257B1 (ko) 1999-12-06 2000-12-06 비 리프레시 디램을 이용한 컴퓨터 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IBPCT/NL99/00746 1999-12-06
KR1020027007279A KR100759257B1 (ko) 1999-12-06 2000-12-06 비 리프레시 디램을 이용한 컴퓨터 장치

Publications (1)

Publication Number Publication Date
KR100759257B1 true KR100759257B1 (ko) 2007-09-17

Family

ID=41629089

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027007279A KR100759257B1 (ko) 1999-12-06 2000-12-06 비 리프레시 디램을 이용한 컴퓨터 장치

Country Status (1)

Country Link
KR (1) KR100759257B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2499053A (en) * 2012-02-06 2013-08-07 Advanced Risc Mach Ltd Apparatus and method for controlling secure refreshing of data in a DRAM

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166845A (ja) 1997-06-12 1999-03-09 Kyushu Syst Joho Gijutsu Kenkyusho 半導体回路及びその制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166845A (ja) 1997-06-12 1999-03-09 Kyushu Syst Joho Gijutsu Kenkyusho 半導体回路及びその制御方法
EP0917152A1 (en) * 1997-06-12 1999-05-19 Matsushita Electric Industrial Co., Ltd. Semiconductor circuit and method of controlling the same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2499053A (en) * 2012-02-06 2013-08-07 Advanced Risc Mach Ltd Apparatus and method for controlling secure refreshing of data in a DRAM
GB2499053B (en) * 2012-02-06 2015-12-16 Advanced Risc Mach Ltd Apparatus and method for controlling refreshing of data in a dram
US9269418B2 (en) 2012-02-06 2016-02-23 Arm Limited Apparatus and method for controlling refreshing of data in a DRAM

Similar Documents

Publication Publication Date Title
US7197596B2 (en) Computer arrangement using non-refreshed DRAM
KR100383774B1 (ko) 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템
KR100395732B1 (ko) 반도체 기억장치
KR100468634B1 (ko) 데이터 전송 제어장치, 반도체 메모리 장치 및 전자정보장치
US8207823B2 (en) Integrated circuit and method for writing information
US5285415A (en) Data counting memory card and reader
US10325643B2 (en) Method of refreshing memory device and memory system based on storage capacity
KR100759257B1 (ko) 비 리프레시 디램을 이용한 컴퓨터 장치
KR100479274B1 (ko) 반도체 메모리 장치 및 정보기기
US6757211B2 (en) Synchronous flash memory command sequence
TR201910444A2 (tr) Uyarlanabi̇li̇r alttaş kutuplama (body bias) geri̇li̇mli̇ bi̇r di̇nami̇k rastgele eri̇şi̇m belleği̇ (dram) yapisi
JP3088866B2 (ja) Icカード
US20030031050A1 (en) Multilevel cell memory architecture
JPH0435780B2 (ko)
CN100354974C (zh) 铁电存储设备
JP3175974B2 (ja) メモリカード装置
JP2598056B2 (ja) 携帯可能電子装置
JPS6157394A (ja) Icカ−ド
KR101101997B1 (ko) Rfid 장치
KR101150525B1 (ko) Rfid 장치 및 그 테스트 방법
EP2401707A1 (en) An rfid tag with an improved communication between an external logic element conductively connected thereto and an interrogator as well as a method for such communication
JPH01118978A (ja) Icカード
JPS63224094A (ja) Icカード

Legal Events

Date Code Title Description
A201 Request for examination
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: 20120821

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130820

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140825

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 12