KR20030009290A - 집적 회로 - Google Patents

집적 회로 Download PDF

Info

Publication number
KR20030009290A
KR20030009290A KR1020027002472A KR20027002472A KR20030009290A KR 20030009290 A KR20030009290 A KR 20030009290A KR 1020027002472 A KR1020027002472 A KR 1020027002472A KR 20027002472 A KR20027002472 A KR 20027002472A KR 20030009290 A KR20030009290 A KR 20030009290A
Authority
KR
South Korea
Prior art keywords
microprocessor
bus
flash
data
flash memory
Prior art date
Application number
KR1020027002472A
Other languages
English (en)
Other versions
KR100814247B1 (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 코닌클리즈케 필립스 일렉트로닉스 엔.브이.
Publication of KR20030009290A publication Critical patent/KR20030009290A/ko
Application granted granted Critical
Publication of KR100814247B1 publication Critical patent/KR100814247B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Microcomputers (AREA)
  • Bipolar Transistors (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)

Abstract

본 발명은 마이크로프로세서 IC의 구조 및 설계에 관한 것으로, 특히 비휘발성의, 소위 플래쉬 메모리의 IC내로의 내장 또는 집적화에 관한 것이다. 이러한 플래쉬 메모리는 IC상에 플래쉬 메모리를 하나이상의 마이크로프로세서에 동작상 연결하는 전용 플래쉬 버스를 제공함으로써 집적될 수 있다. 불행히도, 플래쉬 메모리는 통상적인 근래의 마이크로프로세서와 비교할 때에 비교적 긴 액세스 시간을 가진다. 플래쉬 메모리가 마이크로프로세서(들)와 페이스를 유지하기 위하여, 전용 플래쉬 버스(2)는 플래쉬 메모리(1)를 마이크로프로세서(3)에 연결하며, 상기 플래쉬 버스(2)는 마이크로프로세서의 데이터 버스(8)의 폭 n 보다 큰 폭 m을 가진다. 바람직하게, 폭 m은 폭 n의 정수배이다. 다수의 중간 저장 레지스터(4)는 폭 변환을 수행하기 위하여 플래쉬 버스(2)를 마이크로프로세서(3)의 데이터 버스(8)에 접속한다. 이들 중간 저장 레지스터(4)는 추가적인 태그 레지스터(5)와 함께 마이크로프로세서의 데이터 요청에 대한 캐쉬로 기여할 수 있어서, IC의 잠재 속도를 더 증가시킨다.

Description

집적 회로{INTEGRATED CIRCUIT WITH FLASH}
플래쉬 메모리를 칩 내에 내장하는 것은 이러한 내장이 기대되는 장점들을 나타내기 전에 해결되어야 하는 몇몇 문제점들을 야기한다. 이러한 문제점들 중 하나는 본래 통상적인 플래쉬 메모리의 액세스 시간이 IC상의 다른 구성 요소의 액세스 시간과는 상당히 다르다는 점이다.
따라서, 본 발명은 소정의 IC 상의 많은 구성 요소와 비교할 때에, 특히 판독 전용 메모리(ROM) 또는 오늘날의 고속의 마이크로프로세서 및/또는 그 버스와 비교할 때에 플래쉬 메모리의 절대 속도가 상당히 낮다는 특정한 문제점에 대한 해결책을 제공하기 위한 것이다.
IC내에 내장된 플래쉬 메모리 또는 다른 비휘발성 메모리는, 예를 들면 Feldman 등의 공개된 PCT 출원 WO 0025208 및 Ozcelik 등의 WO 0025250에 나타나 있다. 그러나, 이들 2개의 출원 공보는 상기 기술된 문제점들, 소위 IC상의 플래쉬 메모리와 프로세서 사이의 데이터 경로 폭이 달라지는 것을 해결하지 않는다. Mok의 미국 특허 5,493,534는, 말하자면 버퍼에 의해서 프로세서 버스로부터 격리된 칩 상에 내장된 마이크로컨트롤러용 전기적 프로그램가능 및 소거가능 프로그램 메모리를 기술함으로써 좀더 근접한다. 그러나, Mok 역시 버스와 플래쉬 메모리의 데이터 폭이 달라지는 문제점에 대한 분명하고 확실한 해결책을 제시하지는 않는다.
발명의 개요
하나 이상의 마이크로프로세서와 함께 집적되는 플래쉬 메모리의 잠재성을 이용하기 위하여, 플래쉬 메모리의 전체 액세스 시간은 마이크로프로세서의 클럭킹 레이트(clocking rate)와 페이스(pace)를 유지하여 기대 성능을 획득하여야 한다. 상기 언급된 바와 같이, 플래쉬 메모리는 통상적으로 비교적 긴 액세스 시간을 가지므로, 관련된 마이크로프로세서를 플래쉬 메모리 액세스 시간 보다 높은 클럭킹 레이트로 동작시키는 경우에 문제점이 방지될 수 있다.
여기서, 본 발명은 해결책을 제공한다. 본 발명은 이러한 IC의 전체 속도를 증가시키는 데에 기여하는 많은 발명 수단을 제안함으로써, 성능을 최대화하는 것을 강조하는 IC상의 프로세서 환경에서 내장 플래쉬 메모리의 기능을 향상시키는 방법을 기술한다.
요약하면, 본 발명은 2개의 수단 중 하나 또는 모두를 이용하여 상기 기술된 문제점들을 해결한다.
1. 한가지 수단은 내장된 플래쉬 메모리의 데이터 워드 폭을 증가시켜서 액세스 시간 성능을 보상하는 것이다.
2. 다른 수단은 데이터 캐쉬, 특히 중간 데이터 저장 레지스터를 단일 또는 다수의 라인 데이터 캐쉬로 이용함으로써 제공하는 것이다.
플래쉬 메모리를 가지는 IC, 전용 플래쉬 버스 및 많은 플래쉬 메모리 지원 블록, 특히 프로세서(또는 멀티프로세서) 환경으로의 접속 또는 브리지(bridge)를 기술하는 실시예에 대한 아래의 설명으로부터 생각될 수 있는 다른 추가 사항 및 변경이 존재한다.
상기 언급된 제 1 수단은 내장 플래쉬 메모리의 데이터 워드 폭을 프로세서 버스의 폭의 배수로 증가시키는 것이다. 그런 다음, 플래쉬 메모리를 프로세서 버스에 접속시키는 플래쉬 브리지는 한 번에 프로세서 데이터 워드의 전체 프로세서 블록을 중간 저장 레지스터에 스왑핑(swapping)함으로써 플래쉬 메모리를 액세스한다. 이제 프로세서는 워드를 중간 저장 레지스터로부터 플래쉬 메모리가 매 프로세서 패치 싸이클마다 액세스되지 않고서 한 번에 패치(fetch)할 수 있다. 물론, 다수의 중간 저장 레지스터가 이용될 수도 있다.
상기 언급된 제 2 수단은 중간 데이터 저장 레지스터를 하나 이상의 라인을가지는 캐쉬로 이용하는 것을 가능하게 하는 어드레스 태그 레지스터를 제공하는 것이다. 최근에 이용된 액세스는 이제 중간 저장 레지스터에 의해서 직접적으로 제공되어 마이크로프로세서 액세스가 엄격하게 순차적이 아닌 경우에도 플래쉬 메모리 액세스를 방지할 것이다. 요구된 어드레스가 캐쉬 내에 존재하지 않는 경우에만 플래쉬 메모리가 액세스되어 중간 저장 레지스터가 갱신될 것이다. 이러한 캐슁 개념은 플래쉬 메모리만을 위한 "제 2의 캐쉬"로 이용되며, 공통 캐쉬와는 상이하다. 즉, 상기 언급된 플래쉬 브리지는 플래쉬 메모리로의 버퍼 액세스를 위한 제 2 캐쉬로만 이용된다. 소위 제 2 캐쉬는 프로세서에 직접 접속되는 주 캐쉬와 직렬로 위치한다. 그 원리는 본 기술 분야의 당업자에게 잘 알려져 있어, 더 이상 기술될 필요가 없을 것이다.
아래에서, 본 발명의 실시예가 나타날 것이다. 3개의 도면 내장 플래쉬 메모리(an embedded flash memory)를 구비하는 IC에 관한 이러한 실시예를 나타낸다.
본 발명은 집적 회로(IC)의 구조 및 설계에 관한 것으로, 특히 비휘발성, 플래쉬 메모리를 IC내에 내장(embedding) 또는 집적(integration)하는 것에 관한 것이다. 이러한 비휘발성 메모리를 마이크로프로세서와 함께 내장 또는 집적하는 것은 자동차 또는 다른 네비게이션(navigation)용 목적의 GPS 응용에서의 이동 전화, 개인용 정보 단말기(personal digital assistant)에서 이용되는 IC에서 빈번히 소망되거나 요구된다.
도 1은 플래쉬 브리지(a flash bridge)의 데이터 경로를 포함하는 전체 시스템을 도시하는 도면,
도 2는 이동 단말기용 IC에서의 실시예를 도시하는 도면,
도 3은 도 2의 캐쉬 제어기의 다양한 상태를 도시하는 도면.
도 1은 플래쉬 메모리(a flash memory)(1)와 마이크로프로세서(3)를 접속하는 플래쉬 브리지(a flash bridge)의 판독 데이터 경로를 도시한다. 플래쉬 메모리로부터 나오는 데이터 버스(2)는 m 비트 폭이며, 이 폭 m은 마이크로프로세서의 데이터 버스(8)의 폭 n의 p배이다. 즉, m = p*n이며, 여기서 p는 레지스터의 수이다. 이러한 레지스터의 뱅크(4)(도 1의 Reg.1 내지 Reg.p)는 중간 저장 장치로 기능한다. 일단 폭 m인 메모리 라인이 레지스터 뱅크(4)로 전송된 경우에는, 마이크로프로세서는 멀티플렉서(7) 및 데이터 버스(8)를 통하여 한번에 n 비트를 판독할 수 있게 된다. 이것은 마이크로프로세서 액세스가 순차적인 경우에 특히 바람직한데, 이는 플래쉬 메모리(1)가 매 프로세서 판독 싸이클마다 액세스되지 않아도 되기 때문이다.
추가적으로, 상기 기술된 바와 같이, 레지스터 뱅크(4)는 캐쉬(a cache)로 이용될 수 있다. 이를 이루기 위하여, 어드레스 버스(9)상에서 전송되는 현재 마이크로 프로세서 버스 어드레스가 태그 레지스터(a tag register)(5)에 저장된다. 이어지는 프로세서 싸이클에서, 이전의 어드레스를 포함하는 태그 레지스터(5)내의 태그 파일(tag file)은 비교기(6)에 의해서 현재 어드레스와 비교되며, 이전의 액세스로부터의 데이터가 이미 뱅크(4)의 레지스터 내에 저장되었는지 여부를 검사한다. 그렇다면, 즉, 어드레스가 매칭되는 경우에는, 요청된 데이터가 이미 뱅크(4)의 레지스터 중 하나에 존재하며, 멀티플렉서(7)를 통하여 마이크로프로세서(3)에 의해서 패치(fetch)될 수 있기 때문에 플래쉬 메모리(1)는 액세스될 필요가 없다.
도 2 및 도 3은 본 발명에 있어서 중요 시스템의 일부를 나타내는 이동 단말기용 기저 대역 IC에서의 본 발명의 실시예를 도시한다.
캐쉬 제어기(29)는 플래쉬 버스를 통한 플래쉬 브리지의 플래쉬 메모리(도 2에 도시되지 않음)에의 모든 판독 액세스를 제어한다. 캐쉬 제어기(29)는 상태 머신(a state machine) 및 몇몇 로직 구성 요소로 구성된다. 이러한 상태 머신의 상태도는 도 3에 도시되어 있다.
리셋(reset)동안에, 즉 신호 bres_n이 활성 상태이거나, 임박한 마이크로프로세서 판독 싸이클이 존재하지 않는 경우에는, 상태 머신(state machine)은 IDLE 상태(31)이다(도 3 참조).
캐쉬 제어기(29)가 마이크로프로세서로부터 플래쉬 브리지(flash bridge)의 뱅크(28)내의 소정의 판독 데이터 레지스터 Reg1, ..., Reg4에의 판독 액세스를 검출하는 때에, 즉 신호 dsel_data가 활성 상태이며, 신호 bwrite가 비활성 상태인 경우에, 캐쉬 제어기(29)는 상태 머신을 READ 상태(32)로 진행시킴으로써 판독 싸이클을 수행한다. 이러한 판독 싸이클 동안, 플래쉬 브리지는 비교기(26)에서 태그 레지스터(25)의 값을 마이크로프로세서로부터의 주소, 즉 address(23..4)와 비교하여 유효 비트(24)가 세트(set) 상태가 되었는지 여부를 검사한다. 히트(a hit), 즉 비교기의 출력상에 fb_hit = '1' 및 유효 비트(24)가 세트 상태인 경우는 판독 데이터 레지스터 뱅크(28)내의 데이터가 유효하며, 따라서, 마이크로프로세서 데이터 버스 uP_data(31..0)상에 즉각적으로 놓일 수 있음을 의미한다. 이러한 경우에, 대기 상태가 마이크로프로세서 버스 싸이클 내에 삽입되지 않는다.
그러나, 캐쉬 제어기의 READ 상태 동안에 fb_hit가 비활성 상태로 남거나, 또는 유효 비트(24)가 세트 상태가 아닌 경우에는, 상태 머신은 FBREQ(Flash Bus Request) 상태(33)(도 3 참조)로 점프(jump)하며, 마이크프로세서 대기 신호 bwait는 즉각적으로 활성화되며, 플래쉬 버스는 플래쉬 버스 판독 싸이클(a flash bus read cycle)을 수행할 것을 요청받는다. 이것은 플래쉬 버스 요청 신호 fbus_req를 활성화시킴으로써 수행된다. 도 3에 도시된 바와 같이, FBREQ 상태(33)후에, 상태 머신은 무조건적으로 MISS 상태(35)로 점프한다. MISS 상태(35) 동안에, 캐쉬 제어기(29)는 플래쉬 메모리로부터의 데이터를 기다린다. 이들 데이터가 이용가능한 때에는 긍정 응답 신호 fbus_ack(도 2 및 도 3 참조)를 활성화함으로써 플래쉬 버스는 이를 캐쉬 제어기(29)에 알린다. 이 시간동안, 캐쉬 제어기(29)는 이용가능한 데이터를 기다리며, 마이크로프로세서 버스는 마이크로프로세서 신호 bwait에 의해서 대기하도록 신호를 수신한다. 플래쉬 메모리로부터의 데이터가 이용가능한 경우에, 캐쉬 제어기(29)는 신호 f_up(도 2 참조)를 활성화시키는데, 이는 레지스터 뱅크(28)가 플래쉬 메모리로부터의 데이터로 갱신되도록 하며, 레지스터 뱅크(28)내에 저장된 데이터가 유효함을 지시하는 비트인 유효 비트(24)는 세트 상태가 된다.
그런 다음, 뱅크(28)내의 데이터 레지스터를 판독하기 위한 다른 판독 싸이클이 계류중(pending)이지 않는 경우는 캐쉬 제어기의 상태 머신은 IDLE 상태(31)로 점프한다. 이러한 경우에, 상태 머신은 READ 상태(32)로 즉각적으로 점프할 것이다.
만약 판독 싸이클 동안에 미스(a miss)가 검출되어 플래쉬 버스가 요청된 버스이지만 다른 트랜잭션(transaction)으로 바쁘기 때문에 이용가능하기 않은 경우에는, 캐쉬 제어기 상태 머신은 HOLD 상태(34)로 점프하며, 여기서 계류중인 트랜잭션이 완성될 때까지 대기한다. 플래쉬 버스 비지 신호(a flash bus busy signal) fbus_busy는 캐쉬 제어기 상태 머신에 대하여 플래쉬 버스가 다른 트랜잭션을 수행하느라 바쁜 것을 지시한다.
나타난 예에서, 128 비트의 플래쉬 메모리 데이터 폭은 뱅크의 4개의 32 비트 판독 데이터 레지스터 Reg1 내지 Reg4와 함께 128 비트의 캐쉬 라인을 나타낸다. 마이크로프로세서 데이터 버스는 32 비트 폭을 가진다. 플래쉬 데이터 버스 및 마이크로프로세서 데이터 버스는 4×1 멀티플렉서(a four-to-one multiplexer)(27)를 경유하여 접속된다. 마이크로프로세서 어드레스 버스의 어드레스(3 및 4)는 4개의 32 비트 판독 데이터 레지스터 Reg1 내지 Reg4 중 어느 것이 마이크로프로세서 데이터 버스에 접속될 지를 결정한다.
본 발명이 단일 실시예를 통해서만 기술되었지만, 본 기술 분야의 당업자는 본 발명 및 아래의 청구의 범위로부터 벗어나지 않고서 상기 기술된 원리에 따라 용이하게 변경시키고 변화시킬 수 있을 것이다.

Claims (10)

  1. 적어도 하나의 마이크로프로세서 및 적어도 하나의 메모리를 가지는 집적 회로에 있어서,
    상기 메모리는 전용 플래쉬 버스(2)에 의해서 상기 마이크로프로세서에 동작상 연결되는 비휘발성 또는 플래쉬 메모리(1)이며,
    상기 전용 플래쉬 버스(2)는 특히 상기 마이크로프로세서(3) 또는 상기 마이크로프로세서의 데이터 버스(8)의 제 2 폭 n의 정수배 보다 각기 큰 제 1 폭 m을 가지는 집적 회로.
  2. 제 1 항에 있어서,
    상기 플래쉬 버스(2)와 상기 마이크로프로세서(3)를, 바람직하게는 상기 마이크프로세서의 데이터 버스(8)를 경유하여 접속하여 폭의 변환을 수행하는 제 1 수단, 특히 다수의 중간 저장 레지스터(4,28)를 더 포함하는 집적 회로.
  3. 제 2 항에 있어서,
    상기 제 1 수단은 중간 저장 레지스터(4,28)의 뱅크이며, 상기 뱅크 내로 상기 플래쉬 메모리(1)로부터 패치(fetch)되는 상기 m 비트 폭의 데이터가 저장되는집적 회로.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 프로세서 데이터 버스는 n = 32 비트 폭이며,
    상기 플래쉬 버스는 m = 128 비트 폭이며,
    4개의 중간 저장 레지스터(4,28)가 제공되는 집적 회로.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 플래쉬 메모리(1)의 액세스된 어드레스들을 저장하는 어드레스 태그 레지스터(address tag register)로 기여하는, 특히 추가적인 레지스터(5,25)인 제 2 수단과,
    상기 마이크로프로세서(3) 또는 상기 마이크로프로세서의 데이터 버스(8)에 의해서 요청된 현재 어드레스들을 이전에 액세스되어 상기 플래쉬 메모리(1)내에 저장된 어드레스들과 비교하는, 특히 비교기(6)인 제 3 수단을 더 포함하되,
    최근에 이용된 액세스들로부터의 데이터가 상기 마이크로프로세서(3)를 위한 캐쉬로 기여하는 상기 중간 저장 레지스터들(4,28)로부터 공급될 수 있는 집적 회로.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 중간 저장 레지스터들(4,28)내의 데이터를 상기 마이크로프로세서 버스(8)로 멀티플렉싱(multiplexing)하는 멀티플렉서(7,27)를 더 포함하는 집적 회로.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    적어도 몇몇 IC 구성 요소, 특히 상기 중간 저장 레지스터들(4,28)의 로딩(loading) 및 언로딩(unloading)을 담당하는 구성 요소들의 기능을 제어하는 캐쉬 제어 수단(29)을 더 포함하는 집적 회로.
  8. 제 4 항, 제 6 항 및 제 7 항 중 어느 한 항에 있어서,
    상기 멀티플렉서(7,27)는 4×1 멀티플렉서(a four-to-one multiplexer)이며, 128 비트의 캐쉬 라인을 상기 마이크로프로세서(3)에 제공하는 집적 회로.
  9. 제 7 항 또는 제 8 항에 있어서,
    상기 캐쉬 제어 수단(29)은 상기 캐쉬 제어 수단이 데이터가 이용가능하게되는 것을 기다릴 때마다 대기 상태를 상기 마이크로프로세서 싸이클에 도입하도록 되어 있는 집적 회로.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 캐쉬 제어 수단(29)은 5개의 상태, 특히 IDLE 상태(31), READ 상태, FBREQ(Flash Bus Request) 상태(33), HOLD 상태(34) 및 MISS 상태(35)를 가지는 상태 머신(a state machine)인 집적 회로.
KR1020027002472A 2000-06-27 2001-06-20 집적 회로 KR100814247B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP00113609 2000-06-27
EP00113609.2 2000-06-27
PCT/EP2001/007009 WO2002001375A1 (en) 2000-06-27 2001-06-20 Integrated circuit with flash

Publications (2)

Publication Number Publication Date
KR20030009290A true KR20030009290A (ko) 2003-01-29
KR100814247B1 KR100814247B1 (ko) 2008-03-17

Family

ID=8169085

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027002472A KR100814247B1 (ko) 2000-06-27 2001-06-20 집적 회로

Country Status (7)

Country Link
US (1) US6735661B2 (ko)
EP (1) EP1297434B1 (ko)
JP (2) JP5076133B2 (ko)
KR (1) KR100814247B1 (ko)
AT (1) ATE293810T1 (ko)
DE (1) DE60110227T2 (ko)
WO (1) WO2002001375A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE293810T1 (de) * 2000-06-27 2005-05-15 Koninkl Philips Electronics Nv Integrierte schaltung mit flash
US7004917B2 (en) 2001-03-29 2006-02-28 Royce Medical Company Hardenable orthopaedic support (free edge)
WO2003094036A1 (en) * 2002-04-30 2003-11-13 Koninklijke Philips Electronics N.V. Method for fetching data from a non-volatile memory in an integrated circuit and corresponding integrated circuit
EP1499961A2 (en) * 2002-04-30 2005-01-26 Koninklijke Philips Electronics N.V. Apparatus and method for fetching data from memory
JP4031996B2 (ja) * 2003-01-30 2008-01-09 富士フイルム株式会社 メモリ装置を備えたディジタル・スチル・カメラ
ITTO20030165A1 (it) * 2003-03-06 2004-09-07 Space Cannon Vh S P A Proiettore di luce a led
ITRM20030354A1 (it) 2003-07-17 2005-01-18 Micron Technology Inc Unita' di controllo per dispositivo di memoria.
ITMI20031893A1 (it) * 2003-10-03 2005-04-04 St Microelectronics Srl Dispositivo integrato di memoria con comandi di lettura e scrittura multipli.
US7173863B2 (en) 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
EP1711898B1 (en) * 2004-02-05 2009-06-03 Research In Motion Limited System and method for detecting the width of a data bus
KR100666169B1 (ko) * 2004-12-17 2007-01-09 삼성전자주식회사 플래쉬 메모리 데이터 저장장치
US7882299B2 (en) 2004-12-21 2011-02-01 Sandisk Corporation System and method for use of on-chip non-volatile memory write cache
US20060218332A1 (en) * 2005-03-25 2006-09-28 Via Technologies, Inc. Interface circuit, system, and method for interfacing between buses of different widths
JP2008024411A (ja) * 2006-07-20 2008-02-07 Toshiba Elevator Co Ltd エレベータ制御装置
US9195602B2 (en) 2007-03-30 2015-11-24 Rambus Inc. System including hierarchical memory modules having different types of integrated circuit memory devices
US8495020B1 (en) * 2007-06-27 2013-07-23 ENORCOM Corporation Mobile information system
US8086769B2 (en) * 2008-01-17 2011-12-27 International Business Machines Corporation Method for detecting circular buffer overrun
US8415978B2 (en) * 2008-12-29 2013-04-09 Stmicroelectronics S.R.L. State machine for generating a pulse width modulation (PWM) waveform
US7895381B2 (en) * 2009-02-16 2011-02-22 Himax Media Solutions, Inc. Data accessing system
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US9195530B1 (en) 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
US9582204B2 (en) * 2014-01-07 2017-02-28 Apple Inc. Speculative prefetching of data stored in flash memory
US10031869B1 (en) 2014-03-28 2018-07-24 Adesto Technologies Corporation Cached memory structure and operation
US9910787B2 (en) * 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
KR20180031412A (ko) * 2016-09-20 2018-03-28 삼성전자주식회사 메모리 컨트롤러의 동작 방법과, 이를 포함하는 장치들의 동작 방법들
US10489056B2 (en) * 2017-11-09 2019-11-26 Nvidia Corporation Queue manager for streaming multiprocessor systems

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4953073A (en) * 1986-02-06 1990-08-28 Mips Computer Systems, Inc. Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories
JPH02272654A (ja) * 1989-04-13 1990-11-07 Nec Corp キャッシュメモリ装置
US5732241A (en) * 1990-06-27 1998-03-24 Mos Electronics, Corp. Random access cache memory controller and system
JPH06266596A (ja) * 1993-03-11 1994-09-22 Hitachi Ltd フラッシュメモリファイル記憶装置および情報処理装置
JPH08503328A (ja) 1993-07-29 1996-04-09 アトメル・コーポレイション マイクロコントローラのための遠隔再プログラム可能プログラムメモリ
US6026027A (en) * 1994-01-31 2000-02-15 Norand Corporation Flash memory system having memory cache
US5726937A (en) * 1994-01-31 1998-03-10 Norand Corporation Flash memory system having memory cache
JPH07325898A (ja) * 1994-06-02 1995-12-12 Hitachi Ltd 記憶装置
US5696929A (en) * 1995-10-03 1997-12-09 Intel Corporation Flash EEPROM main memory in a computer system
JPH09231130A (ja) * 1996-02-26 1997-09-05 Mitsubishi Electric Corp マイクロコンピュータ
US5937174A (en) * 1996-06-28 1999-08-10 Lsi Logic Corporation Scalable hierarchial memory structure for high data bandwidth raid applications
US5860097A (en) * 1996-09-23 1999-01-12 Hewlett-Packard Company Associative cache memory with improved hit time
US5768287A (en) * 1996-10-24 1998-06-16 Micron Quantum Devices, Inc. Apparatus and method for programming multistate memory device
WO1998018078A1 (fr) * 1996-10-24 1998-04-30 Mitsubishi Denki Kabushiki Kaisha Micro-ordinateur dont la memoire et le processeur se trouvent sur une meme puce
US5903916A (en) * 1996-12-16 1999-05-11 Intel Corporation Computer memory subsystem and method for performing opportunistic write data transfers during an access latency period within a read or refresh operation
US5937423A (en) * 1996-12-26 1999-08-10 Intel Corporation Register interface for flash EEPROM memory arrays
US5802602A (en) * 1997-01-17 1998-09-01 Intel Corporation Method and apparatus for performing reads of related data from a set-associative cache memory
US5822251A (en) * 1997-08-25 1998-10-13 Bit Microsystems, Inc. Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers
US6088777A (en) * 1997-11-12 2000-07-11 Ericsson Messaging Systems, Inc. Memory system and method for dynamically allocating a memory divided into plural classes with different block sizes to store variable length messages
US6308241B1 (en) * 1997-12-22 2001-10-23 U.S. Philips Corporation On-chip cache file register for minimizing CPU idle cycles during cache refills
JP3732637B2 (ja) * 1997-12-26 2006-01-05 株式会社ルネサステクノロジ 記憶装置、記憶装置のアクセス方法及び半導体装置
US6425065B2 (en) * 1997-12-31 2002-07-23 Intel Corporation Tag RAM with selection module for a variable width address field
US6041400A (en) 1998-10-26 2000-03-21 Sony Corporation Distributed extensible processing architecture for digital signal processing applications
WO2000025208A1 (en) 1998-10-28 2000-05-04 Zf Linux Devices, Inc. Processor system with fail safe bios configuration
US6282643B1 (en) * 1998-11-20 2001-08-28 International Business Machines Corporation Computer system having flash memory BIOS which can be accessed remotely while protected mode operating system is running
JP2000276402A (ja) * 1999-03-24 2000-10-06 Kokusai Electric Co Ltd フラッシュメモリ駆動方法及びフラッシュメモリ装置
US6321315B1 (en) * 1999-09-30 2001-11-20 Micron Technology, Inc. Method and apparatus to reduce memory read latency
US6434674B1 (en) * 2000-04-04 2002-08-13 Advanced Digital Information Corporation Multiport memory architecture with direct data flow
ATE293810T1 (de) * 2000-06-27 2005-05-15 Koninkl Philips Electronics Nv Integrierte schaltung mit flash
KR100805603B1 (ko) * 2000-06-27 2008-02-20 엔엑스피 비 브이 집적 회로
US6836816B2 (en) * 2001-03-28 2004-12-28 Intel Corporation Flash memory low-latency cache

Also Published As

Publication number Publication date
ATE293810T1 (de) 2005-05-15
JP2012198935A (ja) 2012-10-18
JP2004502240A (ja) 2004-01-22
US20020013874A1 (en) 2002-01-31
DE60110227D1 (de) 2005-05-25
EP1297434A1 (en) 2003-04-02
DE60110227T2 (de) 2006-02-09
KR100814247B1 (ko) 2008-03-17
WO2002001375A1 (en) 2002-01-03
JP5076133B2 (ja) 2012-11-21
US6735661B2 (en) 2004-05-11
EP1297434B1 (en) 2005-04-20

Similar Documents

Publication Publication Date Title
KR100814247B1 (ko) 집적 회로
US9626303B2 (en) Data processing apparatus and address space protection method
US9158725B2 (en) Flexible control mechanism for store gathering in a write buffer
US5752272A (en) Memory access control device with prefetch and read out block length control functions
US5809524A (en) Method and apparatus for cache memory replacement line identification
PL176554B1 (pl) Sposób przesyłania informacji między jednostką przetwarzającą systemu komputerowego, zewnętrzną pamięcią podręczną i pamięcią główną oraz system komputerowy
US9009411B2 (en) Flexible control mechanism for store gathering in a write buffer
JP4434534B2 (ja) プロセッサ・システム
JP2009512933A (ja) アクセス性の高いストア帯域幅を備えたキャッシュ
US6564272B1 (en) Non-coherent cache buffer for read accesses to system memory
EP0797148B1 (en) Multi-mode cache structure
US6871246B2 (en) Prefetch control in a data processing system
US20070299991A1 (en) DMA module and operating system therefor
US9003158B2 (en) Flexible control mechanism for store gathering in a write buffer
EP1367493A1 (en) Prefetch buffer
JPH11232100A (ja) 単一サイクル内に間接アドレシングモードアドレスを出力するデータポインタおよびその方法
US5749092A (en) Method and apparatus for using a direct memory access unit and a data cache unit in a microprocessor
JP3964049B2 (ja) マイクロプロセッサ
JPH10293684A (ja) コンピュータシステムおよびその立ち上げ制御方法
JP2689920B2 (ja) 演算処理システムに用いられるプリフェッチバッファ装置
KR200190099Y1 (ko) 메모리 겸용 캐시
JP2009259087A (ja) メモリ制御回路
KR19990040197A (ko) 메모리 겸용 캐시
JPH11143773A (ja) データ処理装置及びデータ処理システム
JPH0261737A (ja) 記憶装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20130227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140221

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160224

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170307

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180228

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190227

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20200303

Year of fee payment: 13