KR101541442B1 - 메모리 및 프로세서를 포함하는 컴퓨팅 시스템 - Google Patents

메모리 및 프로세서를 포함하는 컴퓨팅 시스템 Download PDF

Info

Publication number
KR101541442B1
KR101541442B1 KR1020080108964A KR20080108964A KR101541442B1 KR 101541442 B1 KR101541442 B1 KR 101541442B1 KR 1020080108964 A KR1020080108964 A KR 1020080108964A KR 20080108964 A KR20080108964 A KR 20080108964A KR 101541442 B1 KR101541442 B1 KR 101541442B1
Authority
KR
South Korea
Prior art keywords
memory
storage area
processor
access
signal
Prior art date
Application number
KR1020080108964A
Other languages
English (en)
Other versions
KR20100049923A (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 삼성전자주식회사
Priority to KR1020080108964A priority Critical patent/KR101541442B1/ko
Priority to US12/558,628 priority patent/US8335905B2/en
Publication of KR20100049923A publication Critical patent/KR20100049923A/ko
Application granted granted Critical
Publication of KR101541442B1 publication Critical patent/KR101541442B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

본 발명의 실시 예에 따른 컴퓨팅 시스템은 제 1 저장 영역 및 제 2 저장 영역을 포함하는 메모리, 그리고 데이터 액세스 시에 제 1 및 제 2 저장 영역들 중 어느 저장 영역을 액세스하는지를 나타내는 제 1 제어 신호를 메모리에 송신하고, 메모리를 액세스하기 위한 액세스 신호를 활성화하는 프로세서를 포함하고, 메모리는 액세스 신호 및 제 1 제어 신호에 응답하여 제 2 제어 신호를 활성화하고, 프로세서는 제 2 제어 신호에 응답하여 액세스 신호의 활성 구간을 조절한다.

Description

메모리 및 프로세서를 포함하는 컴퓨팅 시스템{COMPUTING SYSTEM INCLUDING MEMORY AND PROCESSOR}
본 발명은 메모리 및 프로세서를 포함하는 컴퓨팅 시스템에 관한 것이다.
컴퓨팅 시스템은 메모리 및 메모리를 제어하기 위한 프로세서를 포함한다. 메모리의 액세스 동작 시에, 프로세서는 메모리에 액세스 요청을 송신하고, 메모리는 액세스 요청에 응답하여 동작한다. 예를 들면, 읽기 동작 시에, 프로세서는 읽기 동작을 위한 커맨드, 어드레스, 제어 신호 등을 메모리에 송신한다. 메모리는 프로세서로부터의 커맨드, 어드레스, 제어 신호 등에 응답하여 읽기 동작을 수행한다. 메모리로부터 읽어진 데이터는 프로세서에 전달된다. 프로세서는 메모리에 액세스 요청을 송신하고 미리 설정된 시간 후에 메모리로부터 액세스된 데이터를 수신하도록 구성된다.
본 발명의 목적은 메모리의 열화에 의한 액세스 속도의 저하에 대응하여 액세스 신호의 활성 구간을 조절하는 컴퓨팅 시스템을 제공하는 데에 있다.
본 발명의 실시 예에 따른 컴퓨팅 시스템은 제 1 저장 영역 및 제 2 저장 영역을 포함하는 메모리; 그리고 데이터 액세스 시에, 상기 제 1 및 제 2 저장 영역들 중 어느 저장 영역을 액세스하는지를 나타내는 제 1 제어 신호를 상기 메모리에 송신하고, 상기 메모리를 액세스하기 위한 액세스 신호를 활성화하는 프로세서를 포함하고, 상기 메모리는 상기 액세스 신호 및 상기 제 1 제어 신호에 응답하여 제 2 제어 신호를 활성화하고, 상기 프로세서는 상기 제 2 제어 신호에 응답하여 상기 액세스 신호의 활성 구간을 조절한다.
실시 예로서, 상기 제 1 저장 영역의 셀당 저장되는 비트 수는 상기 제 2 저장 영역의 셀당 저장되는 비트 수와 동일하다.
실시 예로서, 상기 제 2 저장 영역의 액세스 속도는 상기 제 1 저장 영역의 액세스 속도보다 느리다. 상기 제 1 저장 영역에 코드가 저장되고, 상기 제 2 저장 영역에 사용자 데이터가 저장된다.
실시 예로서, 상기 액세스 신호의 활성화 구간이 상기 제 2 저장 영역의 액세스 구간보다 긴 경우, 상기 메모리는 상기 제 2 제어 신호를 비활성화한다.
실시 예로서, 상기 액세스 신호의 활성화 구간이 상기 제 2 저장 영역의 액세스 구간보다 짧고, 상기 제 1 제어 신호가 상기 제 2 저장 영역의 액세스를 나타내는 경우, 상기 메모리는 상기 제 2 제어 신호를 활성화한다.
실시 예로서, 상기 메모리는 상기 제 2 저장 영역의 액세스 구간에 대한 정보를 저장하는 레지스터를 더 포함하고, 상기 제 1 제어 신호가 상기 제 2 저장 영 역의 액세스를 나타내는 경우, 상기 메모리는 상기 제 2 저장 영역의 액세스 구간 및 상기 액세스 신호의 활성화 구간을 비교하여 상기 제 2 제어 신호의 활성화 여부를 판별한다.
실시 예로서, 상기 프로세서는 상기 제 2 제어 신호에 응답하여 상기 액세스 신호의 활성화 구간을 초기 값보다 증가시킨다. 상기 프로세서는 상기 제 2 제어 신호에 응답하여 상기 액세스 신호의 활성화 구간을 초기 값의 정수배로 조절한다.
실시 예로서, 상기 메모리는 제 3 저장 영역을 더 포함하고, 상기 제 3 저장 영역은 상기 제 1 저장 영역 또는 상기 제 2 저장 영역으로 사용되도록 설정된다.
본 발명의 실시 예에 따른 컴퓨팅 시스템은 메모리의 액세스 구간 및 액세스 신호의 활성 구간을 비교한다. 그리고, 비교 결과에 의거하여 액세스 신호의 활성 구간이 조절된다. 따라서, 메모리의 열화에 의한 액세스 속도의 저하에 대응하여 액세스 신호의 활성 구간이 조절된다.
본 발명의 실시 예에 따른 컴퓨팅 시스템은 제 1 저장 영역 및 제 2 저장 영역을 포함하는 메모리, 그리고 데이터 액세스 시에, 제 1 및 제 2 저장 영역들 중 어느 저장 영역을 액세스하는지를 나타내는 제 1 제어 신호를 메모리에 송신하고 메모리를 액세스하기 위한 액세스 신호 활성화하는 프로세서를 포함하고, 메모리는 액세스 신호 및 제 1 제어 신호에 응답하여 제 2 제어 신호를 발생하고, 프로세서는 제 2 제어 신호에 응답하여 액세스 신호의 활성 구간을 조절하는 것을 특징으로 한다. 이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 컴퓨팅 시스템(10)을 보여주는 블록도이다. 도 1을 참조하면, 본 발명의 실시 예에 따른 컴퓨팅 시스템(10)은 프로세서(100), 메모리(200), 인터페이스(300), 그리고 시스템 버스(400)를 포함한다.
프로세서(100)는 컴퓨팅 시스템(10)의 제반 동작을 제어한다. 프로세서(10)는 시스템 버스(400)를 통해 메모리(200)를 액세스한다. 프로세서(10)는 시스템 버스(400) 및 인터페이스(300)를 통해 외부와 데이터(DATA)를 교환한다.
예시적으로, 메모리(200)는 SRAM, DRAM, SDRAM 등을 포함하는 휘발성 메모리일 것이다. 다른 예로서, 메모리(200)는 ROM, PROM, EPROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등을 포함하는 불휘발성 메모리일 것이다. 메모리(200)는 AMBA, USB, MMC, PCI-E, ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI, IDE(Integrated Drive Electronics) 등과 같은 다양한 프로토콜들 중 하나를 이용하여 시스템 버스(400)와 통신할 것이다.
예시적으로, 컴퓨팅 시스템(10)은 스마트 카드일 것이다. 컴퓨팅 시스템(10)이 스마트 카드인 경우, 컴퓨팅 시스템(10)은 외부의 리더기와 데이터(DATA)를 교환할 것이다.
예를 들면, 컴퓨팅 시스템(10)은 메모리형 스마트카드일 것이다. 프로세서(100)는 메모리(200) 및 인터페이스(300)를 제어할 것이다. 메모리형 스마트 카드(10)가 보안 장치(미도시)를 더 포함하는 경우, 프로세서(100)는 보안 장치의 동작 또한 제어할 것이다. 예를 들면, 컴퓨팅 시스템(10)은 마이크로프로세서 내장 스마트카드일 것이다. 프로세서(100)는 컴퓨팅 시스템(10)을 제어하고, 판단, 연산, 데이터 보호 등의 동작을 제어할 것이다. 예를 들면, 컴퓨팅 시스템(10)은 대화형 스마트 카드일 것이다. 프로세서(100)는 컴퓨팅 시스템(10)을 제어하고, 판단, 연산, 데이터 보호 등의 동작을 제어하고, 인터페이스(300)를 통해 데이터(DATA)의 쌍방향 전달을 제어할 것이다.
이하에서, 도면을 참조하여 본 발명의 실시 예들이 더 상세하게 설명된다. 그러나, 본 발명의 기술적 사상은 본 발명의 실시 예들에 한정되지 않는다. 본 발명의 기술적 사상은 메모리(200) 및 메모리(200)를 액세스하기 위한 프로세서(100)를 포함하는 모든 컴퓨팅 시스템(10)에 적용될 수 있다. 또한 본 발명의 실시 예들은 본 발명의 기술적 사상의 범위 내에서 다양하게 변형 및 응용될 수 있음이 이해될 것이다.
도 2는 도 1의 프로세서(100) 및 메모리(200)의 제 1 실시 예를 보여주는 블록도이다. 도 2를 참조하면, 프로세서(100) 및 메모리(200)는 제어 신호들(Wait, CS), 데이터(DATA), 그리고 어드레스(ADDR)를 교환한다. 제어 신호(CS)는 메모리(200)를 액세스하기 위하여 프로세서(100)가 메모리(200)에 제공하는 제어 신호이다. 즉, 제어 신호(CS)는 프로세서(100)로부터 메모리(200)에 제공되는 액세스 신호이다. 간결한 설명을 위하여, 액세스 신호(CS)는 칩 선택 신호(CS)인 것으 로 가정한다. 그러나, 본 발명의 실시 예에 따른 액세스 신호(CS)는 칩 선택 신호인 것으로 한정되지 않는다. 액세스 신호는 프로세서(100)로부터 메모리(200)의 액세스를 위해 메모리(200)에 전달되며, 메모리(200)의 액세스 구간 동안 활성 상태를 유지하는 모든 종류의 제어 신호에 적용될 수 있음다.
프로세서(100)는 칩 선택 신호(CS)를 메모리(200)에 제공한다. 메모리(200)는 칩 선택 신호(CS) 및 어드레스(ADDR)에 응답하여 동작한다. 예시적으로, 메모리(200)는 칩 선택 신호(CS)에 응답하여 어드레스(ADDR)에 의해 지정된 저장 영역에 읽기, 쓰기, 그리고 소거 동작을 수행할 것이다. 메모리(200)는 프로세서(100)에 제어 신호(Wait)를 전달한다. 메모리(200)는 칩 선택 신호(CS)에 응답하여 제어 신호(Wait)를 발생한다. 프로세서(100)는 제어 신호(Wait)에 응답하여 칩 선택 신호(CS)의 활성화 구간을 조절한다.
도 3은 도 2의 프로세서(100) 및 메모리(200)의 읽기 동작의 실시 예를 보여주는 타이밍도이다. 도 3을 참조하면, 클럭(CLK), 칩 선택 신호(CS), 어드레스(ADDR), 그리고 데이터(DATA)의 타이밍이 도시되어 있다.
도 2 및 3을 참조하면, 구간(T1) 동안 메모리(200)를 액세스하기 위한 칩 선택 신호(CS)가 활성화된다. 구간(T1) 동안 프로세서(100)로부터 메모리(200)에 어드레스(ADD1)가 전달된다. 즉, 구간(T1) 동안 프로세서(100)로부터 메모리(200)에 액세스 요청이 전달된다. 구간(T1) 동안 메모리(200)는 칩 선택 신호(CS)에 응답하여 어드레스(ADD1)에 의해 지정된 영역에 액세스 동작(예를 들면, 읽기 동작)을 수행한다. 구간(T2) 동안 액세스된 데이터(DATA1, 읽어진 데이터)가 메모리(200)로부 터 프로세서(100)에 전달된다.
구간(T3) 동안 칩 선택 신호(CS)가 활성화된다. 그리고, 구간(T3) 동안 프로세서(100)로부터 메모리(200)에 어드레스(ADD2)가 전달된다. 즉, 구간(T3) 동안 프로세서(100)로부터 메모리(200)에 액세스 요청이 전달된다. 구간(T3) 동안 메모리(200)는 칩 선택 신호(CS)에 응답하여 어드레스(ADD2)에 의해 지정된 영역에 액세스 동작(예를 들면, 읽기 동작)을 수행한다. 구간(T2) 동안 액세스된 데이터(DATA2, 읽어진 데이터)가 메모리(200)로부터 프로세서(100)에 전달된다.
메모리(200)에 대해 읽기/쓰기/소거 동작이 반복되면, 메모리(200)의 메모리 셀들이 열화될 것이다. 예시적으로, 메모리(200)의 메모리 셀은 전하 저장층을 포함하는 트랜지스터를 포함하는 것으로 가정하자. 메모리(200)의 쓰기 동작은 F-N 터널링에 의해 전하 저장층에 전하가 축적/포획되는 동작 또는 열 전자 주입에 의해 전하 저장층에 전하가 주입되는 동작에 의해 수행될 것이다. 메모리(200)의 소거 동작은 F-N 터널링에 의해 전하 저장층에 축적/포획/주입된 전하를 유출하는 동작에 의해 수행될 것이다.
메모리(200)의 쓰기 및 소거 동작이 반복되면, 메모리 셀의 전하 저장층 및 벌크 영역 사이의 절연층에 전하가 포획(trap)될 것이다. 전하 저장층 및 벌크 영역 사이의 절연층에 전하가 포획(trap)되면, 메모리 셀의 문턱 전압이 상승할 것이다. 즉, 워드 라인에 일정한 전압이 인가될 때, 열화된 메모리 셀의 채널의 크기는 정상 메모리 셀의 채널의 크기보다 작을 것이다.
도 4는 프로그램/소거 횟수에 따른 온-셀 전류의 크기를 보여주는 다이어그 램이다. 도 4에서, 가로 축은 프로그램/소거 싸이클의 회수를 나타낸다. 세로 축은 온-셀 전류의 크기를 나타내며, 단위는 암페어(A)이다. 도 4를 참조하면, 프로그램/소거 싸이클 회수가 증가할수록 온-셀 전류는 감소한다.
읽기 동작 시에, 워드 라인에 읽기 전압이 인가되고, 비트 라인은 비트 라인 전압으로 충전(charge)된다. 제 1 상태(예를 들면, 프로그램 상태)를 갖는 메모리 셀들은 읽기 전압에 응답하여 오프 될 것이다. 메모리 셀이 오프되면 비트 라인이 플로팅 되므로, 비트 라인의 전압 레벨은 비트 라인 전압을 유지할 것이다. 제 2 상태(예를 들면, 소거 상태)를 갖는 메모리 셀들은 읽기 전압에 응답하여 온 될 것이다. 메모리 셀이 온 되면 비트 라인이 메모리 셀을 통해 접지 단자에 연결되므로, 비트 라인으로부터 메모리 셀을 통해 전하가 유출될 것이다. 즉, 비트 라인의 전압 레벨이 비트 라인 전압으로부터 낮아질 것이다. 즉, 메모리 셀에 읽기 전압을 인가하고, 비트 라인의 전압 레벨의 변화를 검출함으로써, 메모리 셀의 논리 상태가 판별될 것이다.
온-셀 전류는 워드 라인에 읽기 전압을 인가했을 때, 턴-온된 메모리 셀의 채널을 통해 흐르는 전류를 나타낸다. 도 4에 도시되어 있는 바와 같이, 메모리 셀이 열화되면 메모리 셀의 채널 크기가 감소되므로, 온-셀 전류가 감소한다. 온-셀 전류가 감소하면, 비트 라인으로부터 제 2 상태(예를 들면, 소거 상태)를 갖는 메모리 셀을 통해 유출되는 전하의 양이 감소될 것이다. 즉, 비트 라인의 전압 레벨이 비트 라인 전압으로부터 낮아지는 속도가 감소될 것이다. 따라서, 읽기 동작 시에 요구되는 시간이 증가될 것이다. 다시 말하면, 읽기 동작 시에 메모리(200, 도 2 참조)의 액세스 구간이 칩 선택 신호(CS)의 활성 구간(T1, 도 2 참조)보다 증가될 수 있음이 이해될 것이다.
도 5는 도 2의 프로세서(100) 및 메모리(200)의 읽기 동작의 다른 실시 예를 보여주는 타이밍도이다. 도 5를 참조하면, 클럭(CLK), 칩 선택 신호(CS), 제어 신호(Wait), 어드레스(ADDR), 그리고 데이터(DATA)의 타이밍이 도시되어 있다.
메모리(200) 가 열화되어, 메모리(200)의 액세스 구간은 구간(T1, 1클럭) 보다 길고 구간(T2, 2클럭) 보다 짧은 것으로 가정하자.
도 2 및 5를 참조하면, 칩 선택 신호(CS)의 활성 구간(T1, 1클럭)이 메모리(200)의 액세스 구간 보다 짧으므로, 메모리(200)는 칩 선택 신호(CS)에 응답하여 제어 신호(Wait)를 활성화한다. 프로세서(100)는 제어 신호(Wait)에 응답하여 칩 선택 신호(CS)의 활성 구간을 구간(T1, 1클럭)으로부터 구간(T2, 2클럭)으로 조절한다. 메모리(200)는 칩 선택 신호(CS)가 활성화된 구간(T2, 2클럭) 동안 읽기 동작을 수행한다. 칩 선택 신호(CS)의 활성 구간이 구간(T1, 1클럭)으로부터 구간(T2, 2클럭)으로 증가되었으므로, 열화된 메모리 셀의 읽기 동작이 칩 선택 신호(CS)의 활성 구간(T2, 2클럭) 내에 수행될 수 있음이 이해될 것이다. 구간(T2, 2클럭) 동안 액세스된 데이터는 구간(T3) 동안 프로세서(100)에 전달된다.
메모리(200)는 칩 선택 신호(CS)의 활성 구간과 메모리(200)의 액세스 구간을 비교하고, 비교 결과에 따라 제어 신호(Wait)를 발생한다. 더 상세하게는, 칩 선택 신호(CS)의 활성 구간의 폭(예를 들면, 활성 구간의 클럭 수)이 메모리(200)의 액세스 구간의 폭(더 상세하게는, 액세스 구간의 클럭 수)보다 짧으면, 메모리(200)는 제어 신호(Wait)를 발생한다.
예시적으로, 메모리(200)는 초기 상태에서 30ns의 액세스 구간을 가지며, 열화된 상태에서 60ns의 액세스 구간을 갖는 것으로 가장하자. 예시적으로, 클럭(CLK)의 주파수가 30MHz인 것으로 가정하자. 이때, 클럭(CLK)의 주기는 대략 33ns 일 것이다.
칩 선택 신호(CS)는 한 클럭(CLK), 즉 33ns 동안 활성화될 것이다. 메모리(200)의 액세스 구간이 칩 선택 신호(CS)의 활성 구간(1CLK, 33ns) 이내인 경우, 메모리(200)의 액세스 구간이 칩 선택 신호(CS)의 활성 구간보다 짧다. 따라서, 메모리(200)는 제어 신호(Wait)를 발생하지 않을 것이다. 프로세서(100) 및 메모리(200)의 동작은 도 3을 참조하여 설명된 바와 같이 수행될 것이다.
메모리(200)가 열화되어 메모리(200)의 액세스 구간이 칩 선택 신호(CS)의 활성 구간(1CLK, 33ns) 보다 큰 경우, 더 상세하게는 33ns(1CLK) 보다 크고 66ns(2 CLK) 보다 작은 경우, 메모리(200)의 액세스 구간이 칩 선택 신호(CS)의 활성 구간보다 길다. 따라서, 메모리(200)는 제어 신호(Wait)를 발생할 것이다. 칩 선택 신호(CS)의 활성 구간은 제어 신호(Wait)에 응답하여 두 클럭(2CLK), 즉 66ns로 조절될 것이다. 프로세서(100) 및 메모리(200)의 동작은 도 5를 참조하여 설명된 바와 같이 수행될 것이다.
클럭(CLK)의 주파수가 15MHz인 경우, 클럭(CLK)의 주기는 대략 66ns일 것이다. 칩 선택 신호(CS)는 한 클럭(1CLK), 즉 66ns 동안 활성화될 것이다. 메모리(200)가 열화되어 메모리(200)의 액세스 구간이 33ns보다 크고 66ns보다 작 은 경우에도, 메모리(200)의 액세스 구간은 칩 선택 신호(CS)의 활성 구간보다 짧다. 따라서, 메모리(200)는 제어 신호(Wait)를 발생하지 않을 것이다. 칩 선택 신호(CS)는 한 클럭(CLK), 즉 66ns 동안 활성화될 것이다. 프로세서(100) 및 메모리(200)의 동작은 도 3을 참조하여 설명된 바와 같이 수행될 것이다.
상술한 바와 같이, 메모리(200)는 칩 선택 신호(CS)의 활성 구간 및 메모리(200)의 액세스 구간을 비교하여 제어 신호(Wait)를 발생한다. 또한, 칩 선택 신호(CS)의 활성 구간은 프로세서(100) 및 메모리(200)에 제공되는 클럭(CLK)의 영향을 받는다. 즉, 메모리(200)는 클럭(CLK)의 주기에 응답하여 제어 신호(Wait)를 발생하는 것으로도 이해될 수 있다.
도 6은 도 1의 프로세서(100) 및 메모리(200)의 제 2 실시 예(110, 210)를 보여주는 블록도이다. 도 6을 참조하면, 프로세서(110)는 도 2를 참조하여 설명된 프로세서(100)와 동일하게 구성된다. 메모리(210)는 도 2를 참조하여 설명된 메모리(200)에 레지스터(211)를 더 포함한다.
레지스터(211)는 메모리(210)의 액세스 구간에 대한 정보를 저장한다. 예시적으로, 레지스터(211)는 메모리(210)의 프로그램/소거 회수를 저장할 것이다. 메모리(210)는 레지스터(211)를 참조하여 액세스 구간을 판별할 것이다. 예시적으로, 레지스터(211)에 저장되어 있는 프로그램/소거 회수가 미리 설정된 값보다 작은 경우, 메모리(210)의 액세스 구간은 칩 선택 신호(CS)의 활성화 구간보다 짧을 것이다. 메모리(210)는 프로세서(110)로부터 활성화된 칩 선택 신호(CS)가 전달되어도, 제어 신호(Wait)를 비활성 상태로 유지할 것이다.
예시적으로, 레지스터(211)에 저장되어 있는 프로그램/소거 회수가 미리 설정된 값보다 큰 경우, 메모리(210)의 액세스 구간은 칩 선택 신호(CS)의 활성화 구간보다 길 것이다. 메모리(210)는 프로세서(110)로부터 활성화된 칩 선택 신호(CS)를 전달받고, 제어 신호(Wait)를 활성화할 것이다. 프로세서(110)는 활성화된 제어 신호(Wait)에 응답하여 칩 선택 신호(CS)의 활성화 구간을 조절할 것이다. 예를 들면, 프로세서(131)는 칩 선택 신호(CS)의 활성화 구간을 초기 값의 두 배로 조절할 것이다.
상술한 바와 같이, 본 발명의 실시 예에 따른 메모리(210)는 레지스터(211)를 포함한다. 따라서, 메모리(210)의 열화 상태에 따라 제어 신호(Wait)를 선택적으로 활성화하는 것이 가능하다. 즉, 메모리(210)의 열화 상태에 따라 최적화된 메모리(210) 액세스 속도가 제공됨이 이해될 것이다.
도 7은 도 1의 프로세서(100) 및 메모리(200)의 제 3 실시 예(120, 220)를 보여주는 블록도이다. 도 7을 참조하면, 메모리(220)는 제 1 저장 영역(221) 및 제 2 저장 영역(223)을 포함한다. 예시적으로, 제 1 저장 영역(221) 및 제 2 저장 영역(223)은 셀 당 동일한 수의 비트를 저장할 것이다.
제 1 저장 영역(221)이 싱글 레벨 셀(SLC, Single Level Cell)을 포함하면, 제 2 저장 영역(221) 또한 싱글 레벨 셀(SLC)을 포함할 것이다. 제 1 저장 영역(221)이 셀 당 n 비트를 저장하는 멀티 레벨 셀(MLC, Multi Level Cell)을 포함하면, 제 2 저장 영역(223) 또한 셀 당 n 비트를 저장하는 멀티 레벨 셀(MLC)을 포함할 것이다.
예시적으로, 제 1 저장 영역(221)에 코드가 저장되고 제 2 저장 영역(223)에 사용자 데이터가 저장될 것이다. 코드가 저장되는 제 1 저장 영역(221)에서 프로그램/소거 동작이 수행되는 회수는 사용자 데이터가 저장되는 제 2 저장 영역(223)에서 프로그램/소거 동작이 수행되는 회수보다 낮다. 따라서, 데이터를 저장하는 제 2 저장 영역(223)은 코드를 저장하는 제 1 저장 영역(221)보다 빠르게 열화될 것이다.
이하에서, 메모리(220)의 제 1 및 제 2 저장 영역들(221, 223)의 초기 상태의 액세스 구간은 20ns 보다 작고, 제 2 저장 영역(223)이 열화된 상태의 액세스 구간은 20ns 보다 크며 40ns 보다 작은 것으로 가정하자. 제 1 저장 영역(221)은 제 2 저장 영역(223)보다 적게 열화된다. 예시적으로, 제 1 저장 영역(221)의 액세스 구간은 열화된 상태에서도 20ns 보다 작은 값을 유지할 것이다. 프로세서(120) 및 메모리(220)에 제공되는 클럭(CLK)의 주파수는 50MHz인 것으로 가정하자. 즉, 클럭(CLK)의 주기는 20ns일 것이다.
열화되지 않은 제 2 저장 영역(223)의 액세스 구간은 20ns 보다 작다. 즉, 열화되지 않은 제 2 저장 영역(223)은 칩 선택 신호(CS)의 활성 구간이 한 클럭(20ns)인 때에 액세스될 수 있다. 열화된 제 2 저장 영역(223)의 액세스 구간은 20ns 보다 크고 40ns 보다 작다. 즉, 제 2 저장 영역(223)에서 문턱값 이상의 프로그램/소거 동작이 수행되면, 제 2 저장 영역(223)은 한 클럭(20ns) 동안 액세스될 수 없다.
즉, 프로그램/소거 회수가 문턱 값을 넘은 이후, 제 2 저장 영역(223)의 액 세스를 위해 한 클럭(20ns) 이상이 요구될 것이다. 제 2 저장 영역(223)이 열화되어도 제 2 저장 영역(223)에 대한 액세스 동작이 수행될 수 있도록, 제 2 저장 영역(223)은 두 클럭(40ns) 동안 액세스 되도록 설정될 것이다.
제 1 저장 영역(221)의 액세스 구간은 20ns 보다 작은 값을 유지한다. 따라서, 제 1 저장 영역(221)은 한 클럭(20ns) 동안 액세스될 수 있다. 제 1 저장 영역(221)은 한 클럭(20ns) 동안 액세스 되도록 설정될 것이다.
프로세서(120)는 제 1 및 제 2 저장 영역들(221, 223) 중 어느 저장 영역을 액세스하는지를 나타내는 제어 신호(RM)를 메모리(220)에 송신한다. 다시 말하면, 프로세서(120)는 메모리(220)로부터 코드를 액세스하는지 또는 사용자 데이터를 액세스하는지를 나타내는 제어 신호(RM)를 메모리(220)에 송신한다.
예시적으로, 프로세서(120)가 제 2 저장 영역(223)을 액세스하는 경우, 즉 프로세서(120)가 사용자 데이터를 액세스하는 경우, 제어 신호(RM)는 활성화될 것이다. 프로세서(120)가 제 1 저장 영역(221)을 액세스하는 경우, 즉 프로세서(120)가 코드를 액세스하는 경우, 제어 신호(RM)는 비활성 상태를 유지할 것이다. 메모리(220)는 제어 신호(RM) 및 칩 선택 신호(CS)에 응답하여 동작할 것이다. 프로세서(120)가 제 1 저장 영역(221)을 액세스하는 경우, 메모리(220)는 제어 신호(Wait)를 비활성화할 것이다. 프로세서(120)가 제 2 저장 영역(223)을 액세스하는 경우, 메모리(220)는 제어 신호(Wait)를 활성화할 것이다.
도 8은 도 7의 프로세서(120) 및 메모리(220)의 읽기 동작의 실시 예를 보여주는 타이밍도이다. 도 8을 참조하면, 클럭(CLK), 칩 선택 신호(CS), 제어 신호들(RM, Wait), 어드레스(ADDR), 그리고 데이터(DATA)의 타이밍이 도시되어 있다.
도 7 및 8을 참조하면, 구간(T1) 동안 칩 선택 신호(CS)가 활성화된다. 즉, 구간(T1) 동안 프로세서(120)가 메모리(220)를 액세스한다. 구간(T1) 동안 제어 신호(RM)가 활성화된다. 즉, 구간(T1) 동안 프로세서(120)는 메모리(220)의 제 2 저장 영역(223)을 액세스한다. 다시 말하면, 구간(T1) 동안 프로세서(120)는 메모리(220)에 저장되어 있는 사용자 데이터를 액세스한다. 구간(T1) 동안 어드레스(ADD1)가 프로세서(120)로부터 메모리(220)에 전달된다.
칩 선택 신호(CS)의 활성화 구간은 구간(T1, 20ns)이다. 제어 신호(RM)가 활성화되어 있으므로, 프로세서(120)는 제 2 저장 영역(223)을 액세스한다. 열화된 제 2 저장 영역(223)은 칩 선택 신호(CS)의 활성화 구간(T1, 1CLK, 20ns)보다 긴 액세스 구간을 갖는다. 제 2 저장 영역(223)이 열화된 경우에도 제 2 저장 영역(223)에 대한 액세스가 수행될 수 있도록, 메모리(220)는 제 2 저장 영역(223)에 대한 액세스 시에 제어 신호(Wait)를 활성화한다. 즉, 메모리(220)는 칩 선택 신호(CS) 및 제어 신호(RM)에 응답하여 제어 신호(Wait)를 발생한다.
프로세서(120)는 제어 신호(Wait)에 응답하여 칩 선택 신호(CS)의 활성화 구간을 조절한다. 예시적으로, 프로세서(120)는 칩 선택 신호(CS)의 활성화 구간을 정수배(예를 들면, 2배) 증가시킨다. 칩 선택 신호(CS)의 활성화 구간은 구간(T1, 1CLK, 20ns)으로부터 구간(T2, 2CLK, 40ns)으로 증가된다. 따라서, 제 2 저장 영역(223)이 열화되어도, 제 2 저장 영역(223)은 칩 선택 신호(CS)가 활성화된 구 간(T2, 2CLK, 40ns) 내에 액세스될 수 있음이 이해될 것이다. 구간(T3)에, 제 2 저장 영역(223)에서 액세스된 사용자 데이터(DATA1)가 프로세서(120)에 전달된다.
도 9는 도 7의 프로세서(120) 및 메모리(220)의 읽기 동작의 다른 실시 예를 보여주는 타이밍도이다. 도 9를 참조하면, 클럭(CLK), 칩 선택 신호(CS), 제어 신호들(RM, Wait), 어드레스(ADDR), 그리고 데이터(DATA)의 타이밍이 도시되어 있다.
도 7 및 9를 참조하면, 구간(T1) 동안 칩 선택 신호(CS)가 활성화된다. 즉, 프로세서(120)가 메모리(220)를 액세스한다. 구간(T1) 동안 제어 신호(RM)는 비활성화된 상태를 유지한다. 즉, 프로세서(120)는 메모리(220)의 제 1 저장 영역(221)을 액세스한다. 다시 말하면, 프로세서(120)는 메모리(220)에 저장되어 있는 코드를 액세스한다. 구간(T1) 동안 어드레스(ADD1)가 프로세서(120)로부터 메모리(220)에 전달된다.
칩 선택 신호(CS)의 활성화 구간은 구간(T1, 1CLK, 20ns)이다. 제어 신호(RM)가 비활성화되어 있으므로, 프로세서(120)는 제 1 저장 영역(221)을 액세스한다. 제 1 저장 영역(221)은 열화되어도 칩 선택 신호(CS)의 활성 구간(T1, 1CLK, 20ns) 보다 짧은 액세스 구간을 갖는다.
메모리(220)는 칩 선택 신호(CS) 및 제어 신호(RM)에 응답하여 제어 신호(Wait)를 비활성화된 상태로 유지한다. 즉, 프로세서(120)는 칩 선택 신호(CS)의 활성화 구간을 구간(T1, 1CLK, 20ns)으로 유지한다. 따라서, 제 1 저장 영역(221)이 열화된 상태라 하더라도, 제 1 저장 영역(221)은 칩 선택 신호(CS)가 활성화된 구간(T1, 1CLK, 20ns) 내에 액세스될 수 있다. 구간(T3)에, 제 1 저장 영 역(221)에서 액세스된 데이터(DATA1)가 프로세서(120)에 전달된다.
즉, 액세스 신호(CS)의 활성화 구간(T1, 1CLK, 20ns)이 제 2 저장 영역(223)의 액세스 구간(예를 들면 20ns 보다 크고 40ns 보다 작은)보다 짧고, 제 1 제어 신호(RM)가 제 2 저장 영역(223)의 액세스를 나타내는 경우, 메모리(220)는 제 2 제어 신호(Wait)를 활성화한다. 제 2 제어 신호(Wait)에 응답하여, 프로세서(120)는 액세스 신호(CS)의 활성화 구간을 조절한다. 예시적으로, 프로세서(120)는 액세스 신호(CS)의 활성화 구간을 초기 값(T1, 1CLK, 20ns)보다 증가시킬 것이다. 예시적으로, 프로세서(120)는 제 2 제어 신호(Wait)에 응답하여 액세스 신호(CS)의 활성화 구간을 초기 값(T1, 1CLK, 20ns)의 정수배(예를 들면, 2배)로 조절한다. 프로세서(120)에 의해, 액세스 신호(CS)의 활성화 구간은 구간(T1, 1CLK, 20ns)으로부터 구간(T2, 2CLK, 40ns)으로 증가한다. 칩 선택 신호(CS)의 활성 구간(T2, 2CLK, 40ns) 동안 제 2 저장 영역(223)에 대한 액세스가 수행될 것이다.
상술한 바와 같이, 본 발명의 실시 예에 따른 컴퓨팅 시스템(10, 도 1 참조)은 제 1 저장 영역(221) 및 제 2 저장 영역(223)을 포함하는 메모리(220), 그리고 데이터 액세스 시에, 제 1 및 제 2 저장 영역들(221, 223) 중 어느 저장 영역을 액세스하는지를 나타내는 제 1 제어 신호(RM)를 메모리(220)에 송신하고, 메모리(220)를 액세스하기 위한 액세스 신호(CS)를 활성화하는 프로세서(120)를 포함하고, 메모리(220)는 액세스 신호(CS) 및 제 1 제어 신호(RM)에 응답하여 제 2 제어 신호(Wait)를 활성화하고, 프로세서(120)는 제 2 제어 신호(Wait)에 응답하여 액세스 신호(CS)의 활성화 구간을 조절한다.
본 발명에 따르면, 코드를 저장하는 제 1 저장 영역(221)과 사용자 데이터를 저장하는 제 2 저장 영역(223)에 상이한 액세스 속도가 제공된다. 예시적으로, 열화되는 정도가 적으며 읽기 속도가 중요한 요소인 코드 저장 영역에, 열화되는 정도가 큰 데이터 저장 영역보다 빠른 읽기 속도가 제공될 것이다.
특히 스마트 카드와 같은 컴퓨팅 시스템의 경우, 프로세서(120) 및 메모리(220)는 하나의 반도체 칩으로 집적된다. 집적도 및 설계상의 복잡성으로 인해, 스마트 카드는 하나의 메모리(예를 들면, 단일의 노어 플래시 메모리)의 저장 영역을 분할하여 코드 저장 영역 및 사용자 데이터 저장 영역으로 사용한다. 본 발명에 따르면, 물리적으로 구분되지 않으며 상이한 액세스 구간을 갖는 복수의 저장 영역에 대해 상이한 읽기 속도가 제공된다. 따라서, 컴퓨팅 시스템(10)의 코드 액세스 속도가 향상됨이 이해될 것이다. 또한, 본 발명의 기술적 사상은 스마트 카드에 한정되지 않음이 이해될 것이다.
이하에서, 메모리(220)의 제 1 및 제 2 저장 영역들(221, 223)의 초기 상태의 액세스 구간은 20ns 보다 작고, 제 2 저장 영역(223)이 열화된 상태의 액세스 구간은 20ns 보다 크고 40ns 보다 작은 것으로 가정하자. 제 1 저장 영역(221)의 액세스 구간은 열화된 상태에서도 20ns 보다 작은 값을 유지할 것이다. 그리고, 프로세서(120) 및 메모리(220)에 제공되는 클럭(CLK)의 주파수는 25MHz인 것으로 가정하자. 이때, 클럭(CLK)의 주기는 40ns일 것이다.
제 1 저장 영역(221)에서 프로그램/소거 동작이 수행되어도, 제 1 저장 영역(221)의 액세스 구간은 20ns 보다 작은 값을 유지할 것이다. 즉, 제 1 저장 영 역(221)이 열화되어도, 제 1 저장 영역(221)의 액세스 구간(20ns보다 작은 값)은 칩 선택 신호(CS)의 활성 구간(T1, 1CLK, 40ns) 보다 작다. 따라서, 제 1 저장 영역(221)을 한 클럭(1CLK, 40ns) 동안 액세스하는 것이 가능하다.
제 2 저장 영역(223)에서 프로그램/소거 회수가 문턱 값을 초과하면, 제 2 저장 영역(223)의 액세스 구간은 20ns 보다 크고 40ns 보다 작은 값을 가질 것이다. 즉, 제 2 저장 영역(223)이 열화되어도, 제 2 저장 영역(223)의 액세스 구간(20ns 보다 크고 40ns 보다 작은 값)은 칩 선택 신호(CS)의 활성 구간(T1, 1CLK, 40ns)보다 작다. 따라서, 제 2 저장 영역(223)을 한 클럭(1CLK, 40ns) 동안 액세스하는 것이 가능하다.
제 1 및 제 2 저장 영역들(221, 223)들을 한 클럭(CLK) 동안 액세스하는 것이 가능하므로, 메모리(220)는 제어 신호(RM)의 활성화 여부에 관계 없이 제어 신호(Wait)를 비활성 상태로 유지할 것이다. 즉, 액세스 신호(CS)의 활성화 구간(T1, 1CLK, 40ns)이 제 2 저장 영역(223)의 액세스 구간(예를 들면, 20ns 보다 크고 40ns 보다 작은)보다 긴 경우, 메모리(220)는 제어 신호(Wait)를 비활성화한다.
상술한 바와 같이, 본 발명의 실시 예에 따른 프로세서(120) 및 메모리(220)는 메모리(220)의 열화 상태에 대응하는 액세스 속도를 제공한다. 메모리(220)의 저장 영역이 복수의 저장 영역으로 분할되고, 각각의 저장 영역이 상이한 열화 상태를 가지면, 프로세서(120) 및 메모리(220)는 각각의 저장 영역의 열화 상태에 대응하는 액세스 속도를 각각의 저장 영역에 제공한다. 따라서, 사용자 데이터 저장 영역보다 적게 열화되는 코드 저장 영역에 사용자 데이터 저장 영역의 액세스 속도 보다 빠른 액세스 속도가 제공됨이 이해될 것이다. 사용자 데이터 저장 영역 및 코드 저장 영역에 상이한 액세스 신호 활성 구간을 제공함으로써, 코드 저장 영역에 빠른 액세스 속도가 제공되고, 사용자 데이터 저장 영역에 열화 상태에 대응하는 액세스 속도가 제공됨이 이해될 것이다.
도 10은 도 1의 프로세서(100) 및 메모리(200)의 제 4 실시 예(130, 230)를 보여주는 블록도이다. 도 10의 프로세서(130)는 도 7의 프로세서(120)와 동일하게 구성된다. 도 10의 메모리(230)는 도 7의 메모리(220)에 레지스터(235)를 더 포함한다.
레지스터(235)는 메모리(230)의 제 2 저장 영역(233)의 액세스 구간에 대한 정보를 저장한다. 예시적으로, 레지스터(235)는 제 2 저장 영역(233)의 프로그램/소거 회수를 저장할 것이다. 메모리(230)는 레지스터(235)를 참조하여 액세스 구간을 판별할 것이다. 예시적으로, 레지스터(235)에 저장되어 있는 프로그램/소거 회수가 미리 설정된 값보다 작은 경우, 제 2 저장 영역(233)의 액세스 구간은 칩 선택 신호(CS)의 활성화 구간(T1, 1CLK)보다 짧을 것이다. 메모리(230)는 프로세서(130)로부터 활성화된 칩 선택 신호(CS) 및 활성화된 제어 신호(RM)가 전달되어도, 제어 신호(Wait)를 비활성 상태로 유지할 것이다.
예시적으로, 레지스터(235)에 저장되어 있는 프로그램/소거 회수가 미리 설정된 값보다 큰 경우, 제 2 저장 영역(233)의 액세스 구간은 칩 선택 신호(CS)의 활성화 구간(T1, 1CLK)보다 길 것이다. 메모리(230)는 프로세서(130)로부터 활성화된 칩 선택 신호(CS) 및 활성화된 제어 신호(RM)를 전달받고, 제어 신호(Wait)를 활성화할 것이다. 프로세서(130)는 활성화된 제어 신호(Wait)에 응답하여 칩 선택 신호(CS)의 활성화 구간(T1, 1CLK)을 조절할 것이다. 예를 들면, 프로세서(130)는 칩 선택 신호(CS)의 활성화 구간을 초기 값(T1, 1CLK)의 두 배(T2, 2CLK)로 조절할 것이다.
즉, 메모리(230)는 제 2 저장 영역(233)의 액세스 구간에 대한 정보를 저장하는 레지스터(235)를 더 포함하고, 제 1 제어 신호(RM)가 제 2 저장 영역(233)의 액세스를 나타내는 경우, 메모리(230)는 제 2 저장 영역(233)의 액세스 구간 및 액세스 신호(CS)의 활성화 구간을 비교하여 제 2 제어 신호(Wait)의 활성화 여부를 판별한다.
상술한 바와 같이, 본 발명의 실시 예에 따른 메모리(230)는 레지스터(235)를 포함한다. 따라서, 제 2 저장 영역(233)의 열화 상태에 따라 제어 신호(Wait)를 선택적으로 활성화하는 것이 가능하다. 제 2 저장 영역(233)의 프로그램/소거 회수가 미리 설정된 값보다 작으면, 제 1 활성 구간(T1, 1CLK)을 갖는 칩 선택 신호(CS)를 이용하여 제 2 저장 영역(233)이 액세스된다. 제 2 저장 영역(233)의 프로그램/소거 회수가 미리 설정된 값보다 크면, 제 1 활성 구간(T1, 1CLK) 보다 큰 제 2 활성 구간(T2, 2CLK)을 갖는 칩 선택 신호(CS)를 이용하여 제 2 저장 영역(233)이 액세스된다. 즉, 제 2 저장 영역(210)의 열화 상태에 따라 최적화된 제 2 저장 영역(210)의 액세스 속도가 제공됨이 이해될 것이다.
도 11은 도 1의 프로세서(100) 및 메모리(200)의 제 5 실시 예(140, 240)를 보여주는 블록도이다. 도 11의 프로세서(140)는 도 7 및 10의 프로세서(120, 130) 와 동일하게 구성된다. 도 11의 메모리(240)는 도 10의 메모리(230)에 레지스터(247)를 더 포함한다.
레지스터(245)는 도 10을 참조하여 설명된 바와 같이 제 2 저장 영역(243)의 액세스 구간에 대한 정보를 저장할 것이다. 즉, 제 2 저장 영역(243)의 열화 상태에 따라 최적화된 제 2 저장 영역(243)의 액세스 속도가 제공됨이 이해될 것이다.
레지스터(247)는 메모리(240)의 제 1 저장 영역(241)의 액세스 구간에 대한 정보를 저장한다. 예시적으로, 레지스터(247)는 제 1 저장 영역(241)의 프로그램/소거 회수를 저장할 것이다. 메모리(240)는 레지스터(247)를 참조하여 액세스 구간을 판별할 것이다. 예시적으로, 레지스터(247)에 저장되어 있는 프로그램/소거 회수가 미리 설정된 값보다 작은 경우, 제 1 저장 영역(241)의 액세스 구간은 칩 선택 신호(CS)의 활성화 구간(T1, 1CLK)보다 짧을 것이다. 메모리(240)는 프로세서(140)로부터 활성화된 칩 선택 신호(CS) 및 활성화된 제어 신호(RM)가 전달되어도, 제어 신호(Wait)를 비활성 상태로 유지할 것이다.
예시적으로, 레지스터(247)에 저장되어 있는 프로그램/소거 회수가 미리 설정된 값보다 큰 경우, 제 1 저장 영역(241)의 액세스 구간은 칩 선택 신호(CS)의 활성화 구간(T1, 1CLK)보다 길 것이다. 메모리(240)는 프로세서(140)로부터 활성화된 칩 선택 신호(CS) 및 활성화된 제어 신호(RM)를 전달받고, 제어 신호(Wait)를 활성화할 것이다. 프로세서(140)는 활성화된 제어 신호(Wait)에 응답하여 칩 선택 신호(CS)의 활성화 구간(T1, 1CLK)을 조절할 것이다. 예를 들면, 프로세서(140)는 칩 선택 신호(CS)의 활성화 구간을 초기 값(T1, 1CLK)의 두 배(T2, 2CLK)로 조절할 것이다.
즉, 메모리(240)는 제 1 저장 영역(241)의 액세스 구간에 대한 정보를 저장하는 레지스터(247)를 더 포함하고, 제 1 제어 신호(RM)가 제 1 저장 영역(241)의 액세스를 나타내는 경우, 메모리(240)는 제 1 저장 영역(241)의 액세스 구간 및 액세스 신호(CS)의 활성화 구간(T1, 1CLK)을 비교하여 제 2 제어 신호(Wait)의 활성화 여부를 판별한다.
상술한 바와 같이, 본 발명의 실시 예에 따른 메모리(240)는 레지스터(247)를 더 포함한다. 따라서, 코드를 저장하는 제 1 저장 영역(241)이 열화되어, 제 1 저장 영역(241)의 액세스 구간이 칩 선택 신호(CS)의 활성 구간(T1, 1CLK)보다 길어지더라도 제 1 저장 영역(241)을 액세스 하는 것이 가능함이 이해될 것이다. 즉, 메모리(240)의 열화 상태에 따라 최적화된 메모리(240) 액세스 속도가 제공됨이 이해될 것이다.
도 12는 도 1의 프로세서(100) 및 메모리(200)의 제 6 실시 예(150, 250)를 보여주는 블록도이다. 도 12에서, 프로세서(150) 및 메모리(250) 사이에서 교환되는 제어 신호들(CS, RM, Wait), 어드레스(ADDR), 그리고 데이터(DATA)는 도 2 내지 12를 참조하여 설명된 바와 동일하다.
메모리(250)는 제 1 내지 제 3 저장 영역들(251, 253, 255)을 포함한다. 제 1 저장 영역(251)은 코드를 저장하기 위해 할당된 저장 영역이다. 제 1 저장 영역(251)은 코드만을 저장하도록 설정될 것이다. 제 2 저장 영역(253)은 사용자 데이터를 저장하기 위해 할당된 저장 영역이다. 제 2 저장 영역(253)은 사용자 데 이터만을 저장하도록 설정될 것이다. 제 3 저장 영역(255)은 코드 또는 사용자 데이터를 저장하도록 할당된 영역이다. 제 3 저장 영역(255)의 일부 또는 전부는 제 1 저장 영역(251)으로 사용될 것이다. 제 3 저장 영역(255)의 나머지 부분은 제 2 저장 영역(253)으로 사용될 것이다.
예를 들면, 제 3 저장 영역(255)은 256KB의 저장 영역을 가질 것이다. 제 3 저장 영역(255) 중 128KB는 코드를 저장하도록 설정되어 제 1 저장 영역(251)으로 사용될 것이다. 제 3 저장 영역(255) 중 나머지 128KB는 사용자 데이터를 저장하도록 설정되어 제 2 저장 영역(253)으로 사용될 것이다.
제 3 저장 영역(255)의 설정 정보(CI)는 레지스터(500)에 저장될 것이다. 예시적으로, 제 3 저장 영역(255)의 설정 정보(CI)는 제 1 저장 영역(251) 또는 제 2 저장 영역(253)에 저장되며, 파워-온 동작 시에 레지스터(500)에 로딩(파워-온 읽기)될 것이다. 다른 예로써, 레지스터(500)는 제 3 저장 영역(255)의 설정 정보(CI)를 저장하는 불휘발성 저장 장치일 것이다.
프로세서(150)는 레지스터(500)에 저장되어 있는 제 3 저장 영역(255)의 설정 정보(CI)를 참조하여 제어 신호(RM)의 활성화 여부를 판별할 것이다. 예시적으로, 프로세서(150)가 제 1 저장 영역(251)에 저장되어 있는 코드를 액세스하는 경우, 제어 신호(RM)는 비활성 상태를 유지할 것이다. 프로세서(150)가 제 3 저장 영역(255)에 저장되어 있는 코드를 액세스하는 경우, 제어 신호(RM)는 비활성 상태를 유지할 것이다. 프로세서(150)가 제 2 저장 영역(253)에 저장되어 있는 사용자 데이터를 액세스하는 경우, 제어 신호(RM)는 활성화될 것이다. 프로세서(150)가 제 3 저장 영역(255)에 저장되어 있는 사용자 데이터를 액세스하는 경우, 제어 신호(RM)는 활성화될 것이다. 즉, 프로세서(150)가 사용자 데이터를 액세스하면 제어 신호(RM)가 활성화되고, 코드를 액세스하면 제어 신호(RM)가 비활성화될 것이다.
예시적으로, 레지스터(500)는 프로세서(150)의 구성 요소일 것이다. 예시적으로, 레지스터(500)는 프로세서에 의해 직접 액세스되며, 시스템 버스(400, 도 1 참조)를 통해 메모리(250)와 통신할 것이다. 예시적으로, 레지스터(500)는 시스템 버스(400)를 통해 프로세서(150) 및 메모리(250)와 통신할 것이다. 예시적으로, 레지스터(500)는 메모리(250)와 직접 통신하며, 시스템 버스(400)를 통해 프로세서(150)와 통신할 것이다. 예시적으로, 레지스터(500)는 메모리(250)의 구성 요소일 것이다. 레지스터(500)가 배치 또는 형성되는 장소 또는 장치는 한정되지 않음이 이해될 것이다.
상술한 실시 예에서, 메모리(200~250))의 읽기 동작을 참조하여 본 발명의 실시 예가 설명되었다. 그러나, 본 발명의 실시 예는 메모리(200~250)의 읽기 동작에 한정되지 않음이 이해될 것이다. 예시적으로, 본 발명의 실시 예는 메모리(200~250)의 열화에 의해 액세스 속도가 가변되는 모든 종류의 액세스 동작에 적용될 수 있음이 이해될 것이다.
상술한 실시 예에서, 프로세서(100~150) 및 메모리(200~250)에 클럭(CLK)이 제공되는 것으로 설명되었다. 그러나, 본 발명의 실시 예는 프로세서(100~150) 및 메모리(200~250)에 클럭(CLK)이 제공되는 것으로 한정되지 않음이 이해될 것이다. 클럭(CLK)이 제공되지 않는 경우, 프로세서(100~150)는 메모리(200~250)에 액세스 요청을 하고, 미리 설정된 시간 후에 메모리(200~250)로부터 액세스 요청된 데이터를 수신할 것이다. 본 발명의 기술적 사상은 프로세서(100~150)가 액세스 요청 후 부터 데이터 수신 까지의 미리 설정된 시간을 조절하는 것으로 응용될 수 있음이 이해될 것이다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 자명하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 보여주는 블록도이다.
도 2는 도 1의 프로세서 및 메모리의 제 1 실시 예를 보여주는 블록도이다.
도 3은 도 2의 프로세서 및 메모리의 읽기 동작의 실시 예를 보여주는 타이밍도이다.
도 4는 프로그램/소거 횟수에 따른 온-셀 전류의 크기를 보여주는 다이어그램이다.
도 5는 도 2의 프로세서 및 메모리의 읽기 동작의 다른 실시 예를 보여주는 타이밍도이다.
도 6은 도 1의 프로세서 및 메모리의 제 2 실시 예를 보여주는 블록도이다.
도 7은 도 1의 프로세서 및 메모리의 제 3 실시 예를 보여주는 블록도이다.
도 8은 도 7의 프로세서 및 메모리의 읽기 동작의 실시 예를 보여주는 타이밍도이다.
도 9는 도 7의 프로세서 및 메모리의 읽기 동작의 다른 실시 예를 보여주는 타이밍도이다.
도 10은 도 1의 프로세서 및 메모리의 제 4 실시 예를 보여주는 블록도이다.
도 11은 도 1의 프로세서 및 메모리의 제 5 실시 예를 보여주는 블록도이다.
도 12는 도 1의 프로세서 및 메모리의 제 6 실시 예를 보여주는 블록도이다.

Claims (11)

  1. 제 1 저장 영역 및 제 2 저장 영역을 포함하는 메모리; 그리고
    데이터 액세스 시에, 상기 제 1 및 제 2 저장 영역들 중 어느 저장 영역을 액세스하는지를 나타내는 읽기 소스 제어 신호를 상기 메모리에 송신하고, 상기 메모리로 송신되는 액세스 신호를 활성화하는 프로세서를 포함하고,
    상기 메모리는 상기 액세스 신호가 활성화된 동안에 상기 제1 및 제2 저장 영역들 중 상기 읽기 소스 제어 신호가 가리키는 저장 영역을 액세스하고, 상기 읽기 소스 제어 신호가 상기 제2 저장 영역을 가리킬 때에 대기 신호를 활성화하고,
    상기 프로세서는 상기 대기 신호에 응답하여 상기 액세스 신호의 활성 구간을 조절하는 컴퓨팅 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 저장 영역의 셀당 저장되는 비트 수는 상기 제 2 저장 영역의 셀당 저장되는 비트 수와 동일한 컴퓨팅 시스템.
  3. 제 1 항에 있어서,
    상기 제 2 저장 영역의 액세스 속도는 상기 제 1 저장 영역의 액세스 속도보다 느린 컴퓨팅 시스템.
  4. 제 3 항에 있어서,
    상기 제 1 저장 영역에 코드가 저장되고, 상기 제 2 저장 영역에 사용자 데이터가 저장되는 컴퓨팅 시스템.
  5. 제 3 항에 있어서,
    상기 제 2 저장 영역의 데이터 액세스 구간이 상기 제 1 저장 영역의 데이터 액세스 구간보다 길지 않은 경우, 상기 메모리는 상기 대기 신호를 비활성화하는 컴퓨팅 시스템.
  6. 제 3 항에 있어서,
    상기 제 2 저장 영역의 데이터 액세스 구간이 상기 제 1 저장 영역의 데이터 액세스 구간보다 긴 경우, 상기 메모리는 상기 대기 신호를 활성화하는 컴퓨팅 시스템.
  7. 제 3 항에 있어서,
    상기 메모리는 상기 제 1 및 제 2 저장 영역들 중 적어도 하나의 데이터 액세스 구간에 대한 정보를 저장하는 레지스터를 더 포함하는 컴퓨팅 시스템.
  8. 제 3 항에 있어서,
    상기 프로세서는 상기 대기 신호에 기반하여, 상기 제 1 및 제 2 저장 영역들의 데이터 액세스 속도를 각각 조절하는 컴퓨팅 시스템.
  9. 삭제
  10. 제 3 항에 있어서,
    상기 메모리는 제 3 저장 영역을 더 포함하고,
    상기 제 3 저장 영역은 상기 제 1 저장 영역 또는 상기 제 2 저장 영역으로 사용되도록 설정되는 컴퓨팅 시스템.
  11. 수행된 프로그램 및 소거 동작들의 수가 문턱값보다 적을 때 정상 상태로 동작하고, 상기 수행된 프로그램 및 소거 동작들의 수가 상기 문턱값보다 클 때 열화 상태로 동작하는 메모리 셀들을 포함하는 메모리;
    상기 메모리의 제반 동작을 제어하는 프로세서를 포함하고,
    상기 프로세서는 상기 메모리 셀들이 상기 정상 상태로 동작할 때 정상 데이터 액세스 구간을 설정하고, 상기 메모리 셀들이 상기 열화 상태로 동작할 때 확장된 데이터 액세스 구간을 설정하고,
    상기 정상 데이터 액세스 구간은 상기 프로세서에 의해 제공되는 칩 선택 신호에 따라 설정되고,
    상기 확장된 데이터 액세스 구간은 상기 칩 선택 신호 및 상기 메모리 셀들이 상기 열화 상태에서 동작할 때 상기 메모리로부터 상기 프로세서로 전송되는 대기 신호에 따라 설정되고,
    상기 정상 상태에서, 상기 메모리는 상기 프로세서의 요청에 따라 상기 정상 액세스 데이터 구간 동안에 데이터를 액세스하고,
    상기 열화 상태에서, 상기 메모리는 상기 프로세서의 요청에 따라 상기 확장된 데이터 액세스 구간 동안에 데이터를 액세스하는 컴퓨팅 시스템.
KR1020080108964A 2008-11-04 2008-11-04 메모리 및 프로세서를 포함하는 컴퓨팅 시스템 KR101541442B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080108964A KR101541442B1 (ko) 2008-11-04 2008-11-04 메모리 및 프로세서를 포함하는 컴퓨팅 시스템
US12/558,628 US8335905B2 (en) 2008-11-04 2009-09-14 Computing system including processor and memory which generates wait signal when accessing deteriorated memory area

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080108964A KR101541442B1 (ko) 2008-11-04 2008-11-04 메모리 및 프로세서를 포함하는 컴퓨팅 시스템

Publications (2)

Publication Number Publication Date
KR20100049923A KR20100049923A (ko) 2010-05-13
KR101541442B1 true KR101541442B1 (ko) 2015-08-03

Family

ID=42132897

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080108964A KR101541442B1 (ko) 2008-11-04 2008-11-04 메모리 및 프로세서를 포함하는 컴퓨팅 시스템

Country Status (2)

Country Link
US (1) US8335905B2 (ko)
KR (1) KR101541442B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130082232A1 (en) 2011-09-30 2013-04-04 Unity Semiconductor Corporation Multi Layered Conductive Metal Oxide Structures And Methods For Facilitating Enhanced Performance Characteristics Of Two Terminal Memory Cells
US9448730B2 (en) * 2009-09-30 2016-09-20 International Business Machines Corporation Method and apparatus for dispersed storage data transfer
US8363443B2 (en) 2010-02-01 2013-01-29 Unity Semiconductor Corporation Circuits and techniques to compensate data signals for variations of parameters affecting memory cells in cross-point arrays
US8924752B1 (en) 2011-04-20 2014-12-30 Apple Inc. Power management for a graphics processing unit or other circuit
US20140115358A1 (en) * 2011-05-27 2014-04-24 Freescale Semiconductor, Inc. Integrated circuit device and method for controlling an operating mode of an on-die memory
US8856566B1 (en) * 2011-12-15 2014-10-07 Apple Inc. Power management scheme that accumulates additional off time for device when no work is available and permits additional power consumption by device when awakened
US9390461B1 (en) 2012-05-08 2016-07-12 Apple Inc. Graphics hardware mode controls
JP2018018271A (ja) * 2016-07-27 2018-02-01 富士通株式会社 ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
US11714549B2 (en) 2020-02-28 2023-08-01 3M Innovative Properties Company Deep causal learning for data storage and processing power management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668976A (en) 1993-11-04 1997-09-16 Cirrus Logic, Inc. Error correction method and apparatus for disk drive emulator
JP2005285271A (ja) 2004-03-30 2005-10-13 Nec Electronics Corp 半導体記憶装置
JP2006099940A (ja) 2004-09-03 2006-04-13 Matsushita Electric Ind Co Ltd 不揮発性メモリ装置
US20060161805A1 (en) * 2005-01-14 2006-07-20 Charlie Tseng Apparatus, system, and method for differential rebuilding of a reactivated offline RAID member disk

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1131102A (ja) 1997-07-14 1999-02-02 Toshiba Corp データ記憶システム及び同システムに適用するアクセス制御方法
JP2003256269A (ja) 2002-02-27 2003-09-10 Matsushita Electric Ind Co Ltd 不揮発性記憶装置の制御方法及びメモリ装置
KR100550789B1 (ko) * 2002-07-18 2006-02-08 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램/소거 전압 공급 회로
DE602004023209D1 (de) * 2003-07-30 2009-10-29 Sandisk Il Ltd Verfahren und system zur optimierung von zuverlässigkeit und leistungsfähigkeit von programmierdaten in nichtflüchtigen speicherbausteinen
WO2005015406A1 (ja) 2003-08-06 2005-02-17 Matsushita Electric Industrial Co., Ltd. 半導体メモリカード、アクセス装置及びアクセス方法
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
US8006128B2 (en) * 2008-07-31 2011-08-23 Datadirect Networks, Inc. Prioritized rebuilding of a storage device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668976A (en) 1993-11-04 1997-09-16 Cirrus Logic, Inc. Error correction method and apparatus for disk drive emulator
JP2005285271A (ja) 2004-03-30 2005-10-13 Nec Electronics Corp 半導体記憶装置
JP2006099940A (ja) 2004-09-03 2006-04-13 Matsushita Electric Ind Co Ltd 不揮発性メモリ装置
US20060161805A1 (en) * 2005-01-14 2006-07-20 Charlie Tseng Apparatus, system, and method for differential rebuilding of a reactivated offline RAID member disk

Also Published As

Publication number Publication date
US8335905B2 (en) 2012-12-18
KR20100049923A (ko) 2010-05-13
US20100115220A1 (en) 2010-05-06

Similar Documents

Publication Publication Date Title
KR101541442B1 (ko) 메모리 및 프로세서를 포함하는 컴퓨팅 시스템
US9741441B2 (en) Nonvolatile memory system including nonvolatile memory device and memory controller and operating method of memory controller
US9972396B1 (en) System and method for programming a memory device with multiple writes without an intervening erase
KR102598735B1 (ko) 메모리 장치 및 그 동작 방법
KR101528886B1 (ko) 비휘발성 메모리 장치의 프로그램 방법
US10360987B2 (en) Managing refresh for flash memory
KR101662277B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR101616097B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
KR102420161B1 (ko) 메모리 컨트롤러 및 그것의 제어 방법
KR101634363B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
US9418746B2 (en) Storage devices and methods of operating storage devices
KR20130045495A (ko) 불휘발성 메모리 장치 및 그것의 읽기 방법
KR20150136197A (ko) 스토리지 장치의 동작 방법
KR20110088906A (ko) 가변 저항 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
KR20110027435A (ko) 공통 소스 라인의 노이즈를 줄이는 플래시 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
KR102293082B1 (ko) 저장 장치, 저장 장치의 동작 방법, 및 저장 장치를 액세스하는 액세스 방법
KR20170051841A (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 동작 방법
KR101711353B1 (ko) 메모리 디바이스 작동 관리
US11061815B2 (en) Memory system, memory controller and operating method
KR20210101785A (ko) 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
KR20220075684A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20210041829A (ko) 메모리 시스템, 메모리 컨트롤러 및 동작 방법
CN112309470B (zh) 存储器装置及其操作方法
KR20210045029A (ko) 메모리 시스템, 메모리 컨트롤러 및 동작 방법
KR20230034524A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법

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: 20180629

Year of fee payment: 4