KR101036445B1 - 다중 버스트 프로토콜 장치 제어기 - Google Patents

다중 버스트 프로토콜 장치 제어기 Download PDF

Info

Publication number
KR101036445B1
KR101036445B1 KR1020067017808A KR20067017808A KR101036445B1 KR 101036445 B1 KR101036445 B1 KR 101036445B1 KR 1020067017808 A KR1020067017808 A KR 1020067017808A KR 20067017808 A KR20067017808 A KR 20067017808A KR 101036445 B1 KR101036445 B1 KR 101036445B1
Authority
KR
South Korea
Prior art keywords
burst
protocol
error
master
requested
Prior art date
Application number
KR1020067017808A
Other languages
English (en)
Other versions
KR20060126580A (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 KR20060126580A publication Critical patent/KR20060126580A/ko
Application granted granted Critical
Publication of KR101036445B1 publication Critical patent/KR101036445B1/ko

Links

Images

Classifications

    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Communication Control (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Transfer Systems (AREA)

Abstract

다수의 버스트 메모리 엑세스 조정 프로토콜이 하드웨어의 설계중에 하드웨어 레벨로 실행되거나 평가 및 선택될 수 있다. 적합한 버스트 프로토콜이 버스트 유형 프로토콜 및 현재 버스 마스터(12 또는 14)의 신분과 같은 버스트 특징에 기초하여 선택될 수 있다. 이것은, 예를 들어, 슬레이브에 대한 기능이 칩상의 멀티-마스터 시스템에서 다중 에러 프로토콜을 지원하도록 하거나, 또는 상이한 버스트 조정 프로토콜을 이용하는 다양한 마스터와 인터페이스할 수 있는 슬레이브를 설계하도록 한다. 프로그램가능한 제어 레지스터 또는 구성 핀 또는 변수와 같은 입력이 교체 버스트 프로토콜을 실행시키도록 슬레이브 또는 슬레이브 인터페이스 블록(예를 들어, 메모리 제어기[36])의 일부로서 제공될 수 있다. 버스트 요청이 마스터로부터 수신될 때, 요청된 버스트에 대응하는 버스트 특징이 결정되며 복수의 버스트 에러 프로토콜중 하나가 버스트 특징에 기초하여 선택된다. 이후 버스트 요청은 선택된 버스트 에러 프로토콜에 따라서 처리된다.
Figure R1020067017808
버스트 메모리 엑세스, 버스 마스터, 다중 에러 프로토콜, 슬레이브 인터페이스 블록, 버스트 요청

Description

다중 버스트 프로토콜 장치 제어기{Multiple burst protocol device controller}
본 발명은 시스템들에 관한 것으로서, 특히, 이 시스템들 내의 버스 및 장치 엑세스 프로토콜에 관한 것이다.
칩상의 멀티-마스터 시스템과 같은 시스템들에서, SRAM 또는 플래시 메몰 제어기와 같은 슬레이브 장치는 각각의 잠재적인 마스터의 인터페이스 프로토콜 가능성들을 적합하게 그리고 효율적으로 지원해야 한다. 종래의 플랫폼-기반 설계에서, 상이한 마스터들은 에러를 갖는 버스트 전달들이 종료되는 것에 관해서 상이한 가능성들을 갖을 수 있다. 예를들어, 직접 메모리 엑세스(DMA) 마스터 및 어떤 중앙 처리 장치들(CPU들)은 에러가 임의의 버스트 전달의 비트에서 신호전달되면 버스트 전달이 실패될 것으로 예상하는 반면, 다른 CPU 설계들에서는 특정 비트에 대해서 에러 신호전달에도 불구하고 버스트가 연속될 것으로 예상된다. 이것은 메모리 제어기에 대해서 하나의 문제를 제기한다. 종래의 기술들에서는 MAC 층(하드웨어 레벨) 보다 높은 레벨에서 다중 프로토콜들이 사용된다. 그러한 기술들은 버스 전달 또는 다중 마스터 프로토콜들을 지원하는 문제를 해결하지 못한다.
그러므로 메모리 제어기들을 설계 및 실행하는 기술의 개선이 요구된다.
본 발명은 첨부된 도면을 참조하므로, 당업자에게는 명백한, 여러 목적, 특징, 및 장점을 잘 이해할 수 있게 된다.
도1은 본 발명의 일 실시예에 따라서 정보 처리 시스템을 블록도의 형태로 도시하는 도면.
도2는 본 발명의 일 실시예에 따라서, 도1의 시스템의 제어 레지스터를 블록도의 형태로 도시하는 도면.
도3은 본 발명의 일 실시예에 따라서, 도2의 제어 레지스터의 필드 설명을 테이블 형태로 도시하는 도면.
도4는 본 발명의 일 실시예에 따라서 다중 버스트 프로토콜로 버스트 요청을 처리하는 방법을 흐름도의 형태로 도시하는 도면.
도5는 본 발명의 일 실시예에 따라서 다중 버스트 프로토콜로 하드웨어 설명 언어를 처리하는 방법을 흐름도의 형태로 도시하는 도면.
다음의 논의는 당업자가 본 발명을 이해 및 실행하는 것을 돕도록 본 발명의 적어도 일례에 대한 상세한 설명을 제공하기 위한 것이다. 다음의 논의는 예시적인 것이므로, 그것이 본 발명을 제한하는 것으로 간주되어서는 않된다. 오히려, 이 설명에 이어지는 청구범위에서 적절하게 정의된 본 발명의 범위에 임의의 수의 변형이 속하게 될 수 있다.
다중 프로토콜들은 하드웨어 레벨의 상태 머신 설계(state machine design)로 설계될 수 있으며, 적당한 프로토콜이 버스트 유형과 같은 버스트 특성, 현재 버스 마스터의 아이덴티티(identity) 등에 기초하여 선택될 수 있음을 발견하였다. 이것은 예를들어, 슬레이브가 칩상의 멀티-마스터 시스템(SoC)에서 다중 에러 프로토콜을 지원하며, 이 전달을 개시하는 특정 마스터에 기초한 특정 방법들에서 버스트 전달을 선택적으로 종료하는 기능을 허용한다. 프로토콜 선택은 일련의 입력 구성 핀 또는 슬레이브에 제공된 프로그램 가능한 레지스터 또는 슬레이브 인터페이스 블록(예를 들어, 메모리 제어기)를 이용하여 선택 및 제어될 수 있다. 일 실시예에서, 칩상의 멀티-마스터 시스템(SoC) 메모리 제어기가 설명되는데, 이는 마스터 당 버스트 에러 프로토콜을 지원한다. 이 마스터는 마스터에 의해서 또는 마스터의 외부에 있는 로직에 의해서 제공되는 여러 신호들을 통해서 슬레이브에게 식별될 수 있다. 각각의 잠재적인 마스터는 통상적으로 사용되는 적당한 프로토콜을 나타내는 프로그램 가능한 레지스터내의 제어 필드를 갖는다. 일 실시예에서, 프로토콜은 판독 버스트 및 기록 버스트에 대해서 독립적으로 프로그램될 수 있는데, 이는 핸드쉐이크 프로토콜이 다를 수 있기 때문이다. 이러한 방법에서, 프로그램 가능한 제어 레지스터 수단에 의해서 현재 버스 마스터에 기초한 버스 프로토콜을 효율적으로 선택하기 위한 메커니즘은 버스트 에러 종료와 같은 이벤트를 조절하도록 제공된다.
도1은 정보 처리 시스템(10)의 일 실시예를 도시한다. 시스템(10)은 상호접속 마스터(12), 상호접속 마스터(14), I/O 회로(16), 주변장치(18), 및 다른 슬레이브(20)와 같은 여러 시스템 구성요소들을 포함한다. 메모리 제어기(36) 및 메모 리(35)는 시스템(10)내의 또 다른 슬레이브 구성요소를 표시한다. 메모리(35)는 공유 저장 장치를 제공하는데 이는 하나 이상의 상호접속 마스터에 의해서 공유되기 때문이다. 메모리 제어기(36)는 버스트 프로토콜 선택 로직(50), 제어 레지스터(38), 및 제어 로직(40)을 포함한다. 제어 로직(40)은 종료 제어 로직(42) 및 에러 검출 로직(44)을 포함한다.
시스템 상호접속 장치(22)는 마스터(12), I/O 회로(16), 주변장치(18), 다른 슬레이브(20), 및 메모리 제어기(36)를 상호접속한다. 마스터(12)는 도체(48)를 통해서 시스템 상호접속 장치(22)로 양방향으로 결합되며, 마스터(14)는 도체(50)를 통해서 시스템 상호접속 장치(22)로 양방향으로 결합되며, 주변장치(18)는 도체(54)를 통해서 시스템 상호접속 장치(22)로 양방향으로 결합되며, 다른 슬레이브(20)는 도체(56)를 통해서 시스템 상호접속장치(22)로 양방향으로 결합되며, 메모리 제어기(36)는 도체(24)를 통해서 시스템 상호접속 장치(22)로 양방향으로 결합된다. 메모리(35)는 도체(33)를 통해서 메모리 제어기(36)로 양방향으로 결합된다.
도체(24)는 메모리 및/또는 버스 엑세스 정보를 메모리 제어기(36)로 통신하기 위한 여러 도체를 포함한다. 예시된 실시예에서, 그러한 정보는 마스터 식별기(26), 어드레스/데이터(27), R/W 신호(28), 버스트 유형 신호(30), 명령/데이터 신호(32), 에러 신호(37), 및 다른 신호(34)를 포함한다. 그러한 정보의 일부 또는 모두는 마스터(12) 또는 마스터(14) 또는 다른 장치에 의한 메모리(35)의 엑세스(예를 들어, 버스트 엑세스)의 각 경우에 대해서 메모리 제어기(36)로 전송될 수 있다. 특정한 물리적인 도체가 메모리 엑세스 정보의 각 유형에 대해서 존재할 필요는 없다. 그러한 정보는 직렬로 또는 또 다른 형태로 전송될 수 있다.
동작시에, 마스터(12, 14)는 시스템 상호접속 장치(22)의 엑세스를 요청하여 다른 슬레이브(20), 주변장치(18) 또는 메모리 제어기(36)를 통해 메모리(35)에 엑세스를 요청한다. 요청하는 마스터는 시스템 상호접속 장치(22)를 통해서 엑세스 요청을 메모리 제어기(36)에 제공할 수 있다. 엑세스 요청은, 예를들어, 데이터 또는 명령에 대한 판독 요청 또는 기록 요청이 될 수 있다. 이 요청은 멀티-비트 판독 또는 기록이 데이터 블록들의 세트를 전달하는 버스트 엑세스가 될 수 있다. 대안으로서, 넌-버스트 유형의 엑세스는 단일 비트 판독 또는 기록을 포함할 수 있다. 메모리 제어기(36)는, 판독 엑세스 요청에 응답하여, 시스템 상호접속 장치(22)를 통해서 요청된 정보(데이터 또는 명령)를 요청하는 마스터로 다시 제공한다.
어떤 마스터가 현재 엑세스를 요청하는지를 식별하는 마스터 식별기(26)가 메모리 제어기(36)에 제공된다. 메모리 제어기(36)는 어떤 마스터가 마스터 식별기(26)를 처리함으로서 버스트 엑세스를 요청했는지를 결정한다. 예를들어, 마스터(12)는 0의 식별기를 갖을 수 있으며 마스터(14)는 1의 식별기를 갖을 수 있다. 그러므로, 각각의 마스터에는 고유의 식별기가 할당될 수 있다. 다른 실시예에서, 일부 마스터는 동일 식별기를 공유할 수 있다. 따라서, 식별기는 고유하게 식별 가능한 마스터에 대조적으로 마스터의 클래스(class)를 식별할 수 있다. 또한, 다른 실시예에서, 엑세스를 요청하는 마스터의 식별은 마스터 식별기(26)와 같은 신호를 제공하는 것에 의한 것과는 다른 방법으로 결정될 수 있다.
현재 엑세스 요청이 판독 또는 기록 유형의 엑세스인지에 대한 표시가 R/W 신호(28)에 의해서 메모리 제어기(36)(및, 예를 들어, 후에 논의되는 제어 로직(40))로 전달된다.
버스트 유형은 버스트 유형 신호(30)를 통해서 메모리 제어기(36)에 제공된다. 버스트 유형 신호는 현재 엑세스가 버스트 유형의 엑세스인지 또는 넌-버스트 유형의 엑세스인지를 표시한다. 이 엑세스가 버스트 요청이면, 버스트 신호(30)는 또한 버스트 요청의 유형을 표시한다. 예를들어, 버스트 유형 신호(30)는 버스트 엑세스가 제한된 엑세스(bounded access) 또는 제한되지 않은 엑세스(unbounded access)인지를 표시할 수 있다. 버스트 유형 신호(30)는, 추가해서 또는 대안으로서, 버스트 엑세스가 증분형 버스트 유형인지 또는 래핑(wrapping) 버스트 유형인지를 표시할 수 있다. 데이터의 버스트 전달은 제한될 수 있으며 선정된 길이로 되거나, 또는 버스트내의 동적으로 결정된 비트들의 수로 제한되지 않을 수 있다. 제한되지 않은 버스트는 정의되지 않은 길이의 버스트로 일컬어지기도 한다. 제한된 버스트는 고정된 길이의 버스트로 일컬어지기도 한다. 일 실시예에서, 하나의 버스트 전달내의 4, 8 또는 16 비트의 제한된 전달은 정보 처리 시스템(10)에 의해서 지원된다. 다른 실시예들은 다른 선정된 길이의 제한된 버스트를 지원할 수 있다.
또한 메모리 제어기(36)는 현재 엑세스 요청에 대응하는 어드레스 정보를 수신하여 어드레스/데이터(27)를 통해서 요청된 정보를 제공한다. 명령/데이터 신 호(32)는 현재 엑세스 요청이 명령 또는 데이터를 위한 것이지를 표시하기 위한 메모리 제어기(36)에 제공된다. 메모리 제어기(36)에 양방향으로 통신할 필요가 있는 어떤 다른 신호는 다른 신호(34)내에 제공될 수 있다.
메모리 제어기(36)내에서, 버스트 프로토콜 선택 로직(50)은 버스트 제어 정보 소스로부터 버스트 제어 정보를 수신하기 위해서 결합된다. 예시된 실시예에서, 버스트 제어 정보는 제어 레지스터(38) 및 구성 핀(39)중 적어도 하나로부터 제공된다. 버스트 프로토콜 선택 로직(50)은 버스트 제어 정보에 의존하여 로직(40)에 버스트 프로토콜 선택 정보를 제공하기 위해서 결합된다. 제어 로직은 버스트 프로토콜 선택 정보를 이용하여 메모리(35)에 대한 버스트 요청의 처리를 조정한다. 예를들어, 예시된 실시예에서, 종료 제어 로직(42)은 에러 검출 로직(44)에 의해서 검출된 에러에 응답하는 버스트 프로토콜 선택 정보에 따라서 메모리(35)의 버스트 요청의 종료를 제어한다.
상이한 유형의 버스트 프로토콜이 상이한 유형의 버스트 특성에 의해서 트리거될 수 있는데, 이는 예를 들어, 어떤 마스터가 엑세스를 요청하는지, 이 엑세스 요청이 버스트 엑세스의 일부인지 여부, 버스트 요청이 제한되는지, 제한되지 않는지, 증분형인지 또는 래핑인지를 포함할 수 있다. 그러므로, 마스터 식별기(26), R/W 신호(38), 및 현재 엑세스 요청(즉, 현재 버스트 요청)의 값에 기초하여 그리고 제어 레지스터(38)(및/또는 구성 핀(39)에 기초하여, 버스트 유형 신호(30)는 현재 엑세스 요청 및 그에 맞게 발생하는 에러 조건에 의해서 트리거되는 버스트 동작을 결정한다.
도2는, 각각의 마스터에 대한 버스트 판독 에러(BRE) 종료 제어 필드 및 버스트 기록 에러(BWE) 종료 필드와 같은 버스트 요청 제어 정보를 저장하기 위한 필드를 포함하는 제어 레지스터(38)의 일 실시예를 도시한다. 도2에 도시된 바와같이, 제어 레지스터(38)는 마스터(12) BRE 종료(60), 마스터(14) BRE 종료 필드(62), 마스터(12) BWE 종료 필드(64), 및 마스터(14) BWE 종료 필드(66)를 포함한다. 그러므로, 다른 실시예에서, 제어 레지스터(38)는 소정의 버스트 제어 정보를 저장하기 위해서, 필요할 때는 다소간의 필드를 포함할 수 있다. 또한 제어 레지스터(38)는 시스템 상호접속 장치(22)에 결합된 마스터(12 또는 14)와 같은 마스터로부터의 명령을 통해서 프로그램될 수 있다. 이러한 값들은 예를들어, 사용자에 의해서 제공될 수 있거나, 또는 설계시에 프로그램될 수 있다.
도3은 도2의 제어 레지스터(38)의 필드 정의에 대한 일 실시예를 도시한다. 예를들어, 일 실시예에서, 각각의 필드(60, 62, 64, 66)는 이-비트 필드로서, 각각의 필드는 4 값(00, 01, 10, 11)을 갖을 수 있다. 도3에 도시된 바와같이, 필드(60, 62, 64, 66)는 버스트 판독 또는 기록 에러의 발생시에 버스트 요청의 종료에 사용되는 프로토콜의 마스터-특정 제어를 제공하기 위한 정보를 포함한다.
도3의 예에서, 각각의 BRE 필드(60, 62)는 이-비트 필드로서 00 값은 버스트 판독 에러의 발생시에 동작이 취해지지 않음을 표시한다. 예를들어, 마스터(12) BRE 필드(60)가 00로 설정되면, 마스터(12)로부터의 버스트 판독 요청의 처리는 에러에 의해서 영향을 받지 않고 계속되며, 판독 버스트의 나머지 비트는 완성되도록 허용된다. 유사하게, 마스터(14) BRE 필드(62)가 00로 설정되면, 마스터(14)로부터의 버스트 판독에 대응하는 버스트 판독 에러에 의해서 버스트 종료와 같은 에러 조정이 트리거되지 않는다.
BRE 필드(60, 62)에 대한 01 값은, 데이터 전달 동안에 버스트 판독 에러의 발생시에 판독 버스트가 무산되는 것을 표시한다. 예를들어, 마스터(12) BRE 필드(60)가 01로 설정되면, 마스터(12)로부터의 버스트 판독 요청의 처리는 에러에 의해서 종료되며, 판독 버스트의 나머지 비트는 완료되도록 허용되지 않는다. 유사하게, 마스터(14) BRE 필드(62)가 01로 설정되면, 에러가 발생되며, 버스트 종료 에러 조정은 마스터(14)로부터의 버스트 판독에 대응하는 버스트 판독 에러에 의해서 트리거된다.
BRE 필드(60, 62)에 대한 10의 값은 판독 버스트가 전달의 제1 비트(중요 단어) 동안에 버스트 판독 에러의 발생시에 무산됨을 표시한다. 예를들어, BRE 필드(60)의 마스터(12)가 10으로 설정되면, 마스터(12)로부터의 버스트 판독 요청의 처리는 마스터(12)에 대한 전달의 제1 비트 동안에 에러가 발생할 때 에러에 의해서 종료되며, 판독 버스트의 나머지 비트는 완료되도록 허용되지 않는다. 제1 비트에 이어지는 버스트내의 다른 에러가 판독 버스트 종료를 야기시키지 않는다. 동일 에러가 마스터(12)에 대한 전달의 제1 비트 후에 발생되면, 판독 버스트의 나머지 비트들은 완료되도록 허용된다. 또한 예를들어, 마스터(14) BRE 필드(62)가 10으로 설정되며, 에러가 마스터(14)에 관련된 버스트 판독 전달 동안에 제1 비트(중요 단어)에서 발생되면, 버스트 종료 에러 조정이 트리거되며, 마스터(14) BRE 필드(62)가 10으로 설정되며, 에러가 중요 단어상에서 발생되면, 버스트 종료 에러 조정이 트리거되지 않는다.
BRE 필드(60, 62)에 대한 11의 값은, 정의되지 않은 길이의 판독 버스트 동안에 발생하는 에러가 판독 버스트가 종료되도록 하는 반면에 정의된 길이의 판독 버스트 동안에 발생하는 에러가 종료를 야기시키지 않음을 표시한다. 예를들어, 마스터(12) BRE 필드(60)가 11로 설정되면, 마스터(12)로부터의 버스트 판독 요청의 처리는 버스트 유형(예를 들어, 버스트 유형 신호(30)로 표시된 바와같음)이 정의되지 않은 길이의 버스트 요청일 때 에러에 의해서 종료된다. 그러한 경우에, 판독 버스트의 나머지 비트는 완료되도록 허용되지 않는다. 유사하게, 마스터(14) BRE 필드(62)가 11로 설정되며, 에러가 발생되면, 버스트 종료 에러 조정은 버스트 유형이 마스터(14)로부터의 정의되지 않은 길이의 판독 버스트를 표시할 때 트리거된다.
그러므로, 마스터(12 또는 14)로부터의 버스트 엑세스 요청에 의해서 트리거되는 메모리(35)로부터의 버스트 동작은 BRE 필드(60, 62)에 기초하여 결정 및 제어될 수 있다. 필드(60)는 마스터(12)가 마스터(14)가 요구 또는 원하는 것과는 다른 버스트 조정 프로토콜을 요청 또는 원할 때 필드(62)와는 다른 값을 유지할 수 있다.
각각의 BWE 필드(64, 66)은, 00의 값이 버스트 기록 에러의 발생시에 아무런 동작도 취해지지 않는 것을 나타내는 이-비트 필드이다. 예를들어, 마스터(12) BWE 필드(64)가 00로 설정되면, 마스터(12)에 의한 기록 버스트 요청의 처리는 에러에 의해서 영향을 받지 않고 계속되며, 기록 버스트의 나머지 비트는 완료되도록 허용된다. 유사하게, 마스터(14) BWE 필드(66)가 00로 설정되면, 버스트 종료와 같은 에러 처리가 마스터(14)로부터의 버스트 기록에 대응하는 버스트 기록 에러에 의해서 트리거된다.
BWE 필드(64, 66)에 대한 10의 값은, 기록 버스트가 데이터 전달 동안에 버스트 기록 에러의 발생시에 무산됨을 표시한다. 예를들어, 마스터(12) BWE 필드(64)가 01로 설정되면, 마스터(12)에 의한 기록 버스트 요청의 처리가 에러에 의해서 종료되며, 기록 버스트의 나머지 비트는 완료되도록 허용되지 않는다. 유사하게, 마스터(14) BWE 필드(66)가 01로 설정되고 에러가 발생되면, 버스트 종료 에러 조정은 마스터(14)로부터의 버스트 기록에 대응하는 버스트 기록 에러에 의해서 트리거된다.
BWE 필드(64, 66)에 대한 10의 값은 기록 버스트가 전달의 제1 비트(중요 단어) 동안에 버스트 기록 에러의 발생시에 무산되는 것을 표시한다. 예를들어, 마스터(12) BWE 필드(64)가 10으로 설정되면, 마스터(12)에 의한 기록 버스트 요청의 처리는, 마스터(12)에 대한 전달의 제1 비트 동안에 에러가 발생되면 에러에 의해서 종료되며, 기록 버스트의 나머지 비트는 완료되도록 허용되지 않는다. 다른 에러는 기록 버스트 종료를 야기시키지 않는다. 동일 에러가 마스터(12)에 대한 전달의 제1 비트 후에 발생하면, 기록 버스트의 나머지 비트는 완료되도록 허용된다. 또한, 예를들어, 마스터(14) BWE 필드(66)가 10로 설정되고, 에러가 마스터(14)와 관련된 중요 단어 전달 동안에 발생하면, 버스트 종료 에러 조정이 트리거되며, 마스터(14) BWE 필드(66)가 10으로 설정되고, 에러가 제1 비트(중요 단어) 후에 발생하면, 버스트 종료 에러 조정이 트리거되지 않는다.
BWE 필드(64, 66)에 대한 11의 값은 정의되지 않은 길이의 기록 버스트 동안에 발생하는 에러가 기록 버스트가 종료되도록 하는 한편 정의된 길이의 기록 버스트 동안에 발생하는 에러는 종료되도록 하지 않는 것을 표시한다. 예를들어, 마스터(12) BWE 필드(64)가 11로 설정되면, 마스터(12)로부터의 버스트 기록 요청의 처리는 버스트 유형(예를 들어, 버스트 유형 신호(30)에 의해서 표시되는 바와같음)이 정의되지 않은 길이의 버스트 요청일 때 에러에 의해서 종료된다. 그러한 경우에, 기록 버스트의 나머지 비트는 종료되도록 허용되지 않는다. 유사하게, 마스터(14) BWE 필드(66)가 11로 설정되고, 에러가 발생되면, 버스트 종료 에러 조정은 버스트 유형이 마스터(14)로부터의 정의되지 않은 길이의 기록 버스트를 표시할 때 트리거된다.
그러므로, 마스터(12 또는 14)로부터 트리거되는 메모리(35)에 대한 기록 데이터 버스트 동작들은 BWE 필드(64, 66), 버스트 유형 신호(30) 및 마스터 식별기 신호(26)에 기초하여 결정 및 제어될 수 있다. 필드(64)는, 마스터(14)가 요구 또는 원하는 것과는 다른 버스트 조정 프로토콜을 마스터(12)가 요구 또는 원할 때 필드(66)와는 다른 값을 유지할 수 있다. 필드(60)는 마스터(12)가 기록 버스트에 대한 것과는 다른 판독 버스트에 대한 버스트 조정 프로토콜을 요구 또는 원할 때 필드(64)와는 다른 값을 유지할 수 있으며, 필드(62)는 마스터(14)가 기록 버스트에 대한 것과는 다른 판독 버스트에 대한 버스트 조정 프로토콜을 요구 또는 원할 때 필드(66)과는 다른 값을 유지할 수 있다.
도4는 본 발명의 일 실시예에 따라 시스템(10)의 동작을 흐름도 형태로 도시하는 도면이다. 흐름은 수신 버스트 요청 동작(72)에서 시작하는데 여기서 마스터로부터의 버스트 요청이 수신된다. 이 버스트 요청은 판독 요청, 기록 요청, 데이터에 대한 요청, 명령에 대한 요청 등과 같은 여러 상이한 유형의 요청이 될 수 있다.
버스트 요청이 수신된 후에, 수신된 버스트 요청의 버스트 특성이 결정 버스트 특성 동작(74) 동안에 결정된다. 예를들어, 요청 마스터의 아이덴티티가 결정된다. 이것은 수신된 버스트 요청과 연관된 마스터 식별기(26)을 처리하는 것을 통해서 수행된다. 또 다른 예에서, 버스트 요청의 유형은 마스터 아이덴티티를 결정하는 것에 더해서 또는 그 대신에 결정된다. 이것은 수신된 버스트 요청과 연관된 버스트 유형 신호(30)를 처리하는 것을 통해서 수행된다.
버스트 특성이 결정된 후에, 여러 버스트 프로토콜중 하나가 선택 버스트 프로토콜 동작(78) 동안에 선택된다. 예시적인 버스트 프로토콜들이 도3에 예시되어 있다. 이러한 프로토콜들은 결정된 버스트 특성에 의존한다. 도3의 경우에, 버스트 특성은 요청 마스터의 신분에 대응한다. 상이한 마스터들이 제어 레지스터(38)의 상이한 설정을 야기시키며 그러한 설정의 상이한 결과들을 야기시킬 수도 있다. 버스트 프로토콜의 최종 효과를 결정하는 다른 요인들에는 버스트의 속성(예를 들어, 그것이 제한되는지 여부)이 포함된다. 상이한 효과들(이 경우에는, 종료 과정들)이 도3에 도시된 바와같이 상이한 유형의 버스트 엑세스에 대해서 설정될 수 있다. 버스 프로토콜 정보의 선택을 위한 설정들은 제어 레지스터(38), 구성(39) 또는 어떤 다른 수단을 통해서 제공된다. 다른 실시예에서, 마스터들은 공통 셋트의 프로토콜 제어 규정기를 공유할 수 있다.
버스트 프로토콜이 선택 프로토콜 동작(78) 동안에 선택된 후에, 메모리 제어기(36)는 선택된 버스트 프로토콜에 따라 버스트 요청에 대응한다. 그러한 응답의 예들은 도3을 참조하여 제공된다.
일 실시예에서, 버스트 프로토콜의 선택은 회로 설계 동안에 수행된다. 예를들어, 도5를 참조하면, 제어기의 하드웨어 설명 언어(HDL) 표시가 여러 버스트 프로토콜들 중 하나 이상을 선택 및 표시하기 위해서 처리될 수 있다. 제공 버스트 파라메터가능한 HDL 동작(82)에서, 제어기를 표시하는 HDL 코드가 제공되는데 이는 상이한 버스트 프로토콜들로 프로그램될 수 있다. 버스트 파라메타가능한 HDL이 제공되면, 버스트 프로토콜은 제공 버스트 파라메터 동작(84) 동안에 HDL에 입력되며, 버스트 파라메터된 HDL은 평가 버스트 프로토콜 파라메터 동작(86)에서 평가된다.
평가 동작(86)의 결과에 따라서, 제1 값 및 제어 전이가 제1 HDL 동작(88)을 발생하거나, 제2 값 결과 및 제어 전이가 제2 값 HDL 동작(90)을 발생한다. 발생 제1 HDL 동작(88) 동안에, 제1 버스트 프로토콜에 따라서 동작하도록 구성된 제어기에 대응하는 제1 HDL 설명이 발생된다. 발생 제2 HDL 동작(90) 동안에, 제2 버스트 프로토콜에 따라서 동작하도록 구성된 제어기에 대응하는 제2 HDL 설명이 발생된다. 다른 결과들은 발생된 DHL에서 실행되는 다른 유형의 버스트 프로토콜로 유도할 수 있다. 최종 버스트 프로토콜이 최종 HDL 실행에 대해서 선택될 때 까지 여러 버스트 프로토콜을 평가 및 실행하도록 반복적인 과정이 (HDL로) 사용될 수 있다.
최종 HDL 설명이 발생되면(예를 들어, 발생 HDL 동작(88 또는 99) 동안에), 제어기는 동작(92) 동안에 최종적으로 발생된 HDL 설명을 이용하여 최종적으로 설계 또는 제조된다.
그러므로, 에러 조정과 같은 버스트 동작이 여러 유형의 버스트 특성에 기초하여 트리거되어 시스템들이 더 유연하게 될 수 있는지를 알 수 있으며, 성능이 증가되며 설계 및 시스템은 더 효과적이 된다. 여기서 설명된 실시예들은 다양한 방법 및 응용예로 제어 버스트 요청에 사용될 수 있다.
예를들어, 일 실시예에서, 하나의 방법에서는 마스터로부터 버스트 요청을 수신하며, 요청된 버스트에 대응하는 버스트 특성을 결정하며, 버스트 특성에 기초한 복수의 버스트 에러 프로토콜중 하나를 선택하며, 선택된 버스트 에러 프로토콜에 따라 버스트 요청에 응답하는 단계를 포함한다.
또 다른 실시예에서, 버스트 특성을 결정하는 단계는, 요청된 버스트에 대응하는 버스트 유형을 결정하는 단계를 포함하며, 선택된 버스트 에러 프로토콜은 결정된 버스트 유형에 기초하여 선택된다. 버스트 유형은 판독 버스트 유형 또는 기록 버스트 유형이 될 수 있다. 이 버스트 유형은 제한된 버스트 유형 또는 제한되지 않은 버스트 유형을 포함할 수 있다. 이 버스트 유형은 증분형 버스트 유형 또는 래핑 버스트 유형을 포함할 수 있다.
또 다른 실시예에서, 버스트 특성을 결정하는 단계는 요청된 버스트에 대응하는 마스터의 신분을 결정하는 단계를 포함하며, 선택된 버스트 에러 프로토콜은 마스터의 신분에 기초하여 선택된다.
또 다른 실시예에서, 선택된 버스트 에러에 따른 버스트 요청은 버스트 전달을 개시하며, 버스트 전달 동안에 에러를 검출하며, 선택된 버스트 에러 프로토콜에 기초하여 버스트 전달을 선택적으로 종료하는 단계를 포함한다.
또 다른 실시예에서, 메모리 제어기는 버스트 프로토콜 선택 로직 및 제어 로직을 포함한다. 버스트 프로토콜 로직은 요청된 버스트 전달에 대응하는 적어도 하나의 버스트 특성을 결정하며 적어도 하나의 버스트 특성에 기초하여 버스트 에러 프로토콜을 선택한다. 제어 로직은 버스트 프로토콜 선택 로직에 결합된다. 이 제어 로직은 선택된 버스트 에러 프로토콜에 따라서 요청된 버스트에 응답한다.
또 다른 실시예에서, 제어 로직은 요청된 버스트에 응답하여 요청된 버스트 전달을 개시한다. 이 실시예에서, 메모리 제어기는 에러 검출 로직 및 결정 제어 로직을 더 포함한다. 이 에러 검출 로직은 요청된 버스트 전달 동안에 에러를 검출한다. 종료 제어 로직은 버스트 프로토콜 선택 로직에 의해서 제공된 선택된 버스트 에러 프로토콜에 기초하여 요청된 버스트 전달을 종료한다.
또 다른 실시예에서, 메모리 제어기는 또한 버스트 프로토콜 선택 로직에 결합된 제어 레지스터를 포함한다. 이 버스트 프로토콜 선택 로직은 제어 레지스터에 저장된 적어도 하나의 버스트 특성 및 정보에 기초하여 버스트 에러 프로토콜을 선택한다. 또 다른 실시예에서, 제어 레지스터에 저장된 정보는 복수의 버스트 에러 프로토콜을 표시하며, 버스트 프로토콜 선택 로직은 복수의 버스트 에러 프로토콜로부터 버스트 에러 프로토콜을 선택한다. 또 다른 실시예에서, 복수의 버스트 에러 프로토콜들 각각은 버스트 유형에 대응한다. 버스트 유형은 판독 버스트 유형, 기록 버스트 유형, 제한된 버스트 유형, 및 제한되지 않은 버스트 유형중 적어도 하나를 포함한다. 또 다른 실시예에서, 적어도 하나의 버스트 특성은 요청된 버스트 전달의 버스트 유형을 포함한다.
또 다른 실시예에서, 메모리 제어기는 복수의 마스터와 통신하도록 구성될 수 있다. 복수의 버스트 에러 프로토콜들 각각은 복수의 마스터중 하나의 마스터에 대응한다. 또 다른 실시예에서, 적어도 하나의 버스트 특성은 요청된 버스트 전달을 요청하는 마스터의 식별기를 포함한다.
또 다른 실시예에서, 버스트 프로토콜 선택 로직은 구성 입력을 통해서 제공된 적어도 하나의 버스트 특성 및 정보에 기초하여 버스트 에러 프로토콜을 선택한다. 또 다른 실시예에서, 구성 입력을 통해서 제공된 정보는 버스트 프로토콜 선택 로직에 대한 버스트 에러 프로토콜을 표시한다.
또 다른 실시예에서, 메모리 제어기는 하드웨어로 실행된다. 또 다른 실시예에서, 메모리 제어기는 컴퓨터로 판독가능한 매체에서 기록된 소프트웨어로 실행된다.
또 다른 실시예에서, 메모리 제어기는, 마스터로부터 하나의 버스트 요청을 수신하는 수단, 요청된 버스트에 대응하는 버스트 특성을 결정하는 수단, 버스트 특성에 기초하여 복수의 버스트 에러 프로토콜들 중 하나를 선택하는 수단, 및 선택된 버스트 에러 프로토콜에 따라서 버스트 요청에 응답하는 수단을 포함한다.
또 다른 실시예에서, 버스트 특성을 결정하는 수단은 요청된 버스트에 대응하는 버스트 유형을 결정하는 수단을 포함한다. 선택된 버스트 에러 프로토콜은 버스트 유형에 기초하여 선택된다. 또 다른 실시예에서, 버스트 유형은 판독 버스트 유형, 기록 버스트 유형, 제한된 버스트 유형, 제한되지 않은 버스트 유형, 증분형 버스트 유형 및 래핑 버스트 유형 중 적어도 하나를 포함할 수 있다.
또 다른 실시예에서, 버스트 즉징을 결정하는 수단은 요청된 버스트에 대응하는 마스터의 신분을 판정하는 수단을 포함하며, 여기서 선택된 버스트 에러 프로토콜은 상기 마스터의 신분에 기초하여 선택된다.
또 다른 실시예에서, 선택된 버스트 에러 프로토콜에 따라서 버스트 요청에 대응하는 수단은, 버스트 전달을 개시하기 위한 수단, 버스트 전달 동안에 에러를 검출하기 위한 수단, 및 선택된 버스트 에러 프로토콜에 기초하여 버스트 전달을 선택적으로 종료하기 위한 수단을 포함한다.
또 다른 실시예에서, 버스트 요청은 마스터로부터 수신된다(예를들어, 마스터를 포함하는 정보 처리 시스템내에 존재하는 마스터). 요청된 버스트의 버스트 유형이 결정된다. 버스트 유형에는 판독 버스트 유형 및 기록 버스트 유형 중 하나가 포함된다. 복수의 버스트 프로토콜중 하나는 버스트 유형에 기초하여 선택된다. 버스트 요청은 선택된 버스트 프로토콜에 따라서 응답된다. 또 다른 실시예에서, 요청된 버스트에 대응하는 마스터의 신분이 결정된다. 선택된 버스트 프로토콜은 요청된 버스트에 대응하는 마스터의 신분 및 버스트 유형에 기초하여 선택된다.
또 다른 실시예에서, 메모리 제어기는 버스트 프로토콜 선택 로직 및 버스트 프로토콜 선택 로직에 결합되는 제어 로직을 포함한다. 버스트 프로토콜 선택 로직은 요청된 버스트 전달에 대응하는 버스트 유형을 결정하며 버스트 유형에 기초한 버스트 프로토콜을 선택한다. 버스트 유형은 판독 버스트 유형 및 기록 버스트 유형중 하나를 포함한다. 제어 로직은 선택된 버스트 프로토콜에 따라 요청된 버스트에 응답한다. 메모리 제어기는 하드웨어 또는 소프트웨어로 실행될 수 있다.
또 다른 실시예에서, 메모리 제어기는 또한 버스트 프로토콜 선택 로직에 결합된 제어 레지스터를 포함한다. 버스트 프로토콜 선택 로직은 버스트 유형 및 제어 레지스터내에 저장된 정보에 기초하여 버스트 프로토콜을 선택한다. 또 다른 실시예에서, 제어 레지스터내에 저장된 정보는 복수의 버스트 프로토콜을 표시한다. 버스트 프로토콜 선택 로직은 복수의 버스트 프로토콜로부터 버스트 프로토콜을 선택한다.
또 다른 실시예에서, 하나의 방법은 다음 단계, 즉, 마스터로부터 버스트 요청을 수신하며, 요청된 버스트에 대응하는 마스터의 신분을 결정하며, 요청된 버스트에 대응하는 마스터의 신분에 기초하여 복수의 버스트 에러 프로토콜중 하나를 선택하며, 선택된 버스트 에러 프로토콜에 따라 버스트 요청에 응답하는 단계를 포함한다.
또 다른 실시예에서, 메모리 제어기는 보굿의 마스터와 통신하도록 구성될 수 있다. 메모리 제어기는 버스트 프로토콜 선택 로직 및 버스트 프로토콜 선택 로직에 결합되는 제어 로직을 포함한다. 버스트 프로토콜 선택 로직은 요청된 버스트 전달에 대응하는 복수의 마스터중 하나의 신분을 결정하며 복수의 마스터중 하나의 신분에 기초하여 버스트 에러 프로토콜을 선택한다. 제어 로직은 선택된 버스트 에러 프로토콜에 따라 요청된 버스트에 응답한다. 메모리 제어기는 하드웨어 또는 소프트웨어로 실행될 수 있다.
또 다른 실시예에서, 메모리 제어기는 또한 버스트 프로토콜 선택 로직에 결합된 제어 레지스터를 포함한다. 버스트 프로토콜 선택 로직은 복수의 마스터 및 제어 레지스터내에 저장된 정보중 하나의 신분에 기초하여 버스트 프로토콜을 선택한다. 또 다른 실시예에서, 제어 레지스터에 저장된 정보는 복수의 버스트 프로토콜을 표시한다. 각각의 프로토콜은 복수의 마스터중 하나의 마스터에 대응한다. 버스트 프로토콜 선택 로직은 복수의 버스트 프로코롤로부터 그 버스트 프로토콜을 선택한다.
또 다른 실시예에서, 하나의 방법은 버스트 파라메터가 가능한 하드웨어 설명 언어(HDL) 설명을 제공하며, 버스트 프로토콜 파라메터를 버스트 파라메타가 가능한 HDL 설명에 입력으로서 제공하며, 버스트 프로토콜 파라메터가 제1 값을 갖을 때 제1 버스트 프로토콜에 따라서 동작하도록 구성된 메모리 제어기에 대응하는 제1 HDL 설명을 발생하며, 버스트 프로토콜 파라메타가 제2 값을 갖을 때 제2 버스트 프로토콜에 따라서 동작하도록 구성된 메모리 제어기에 대응하는 제2 HDL 설명을 발생하는 단계를 포함한다.
또 다른 실시예에서, 제1 버스트 프로토콜 및 제2 버스트 프로토콜은 상이한 버스트 프로토콜이다. 또 다른 실시예에서, 제1 버스트 프로토콜 및 제2 버스트 프로토콜은 버스트 전달이 버스트 전달 동안에 에러를 검출하는 것에 응답하여 종료되는지 여부를 표시한다.
또 다른 실시예에서, 이 방법은 제1 및 제2 HDL 설명중 발생된 것을 이용하여 메모리 제어기를 설계하는 단계를 포함한다. 또 다른 실시예에서, 이 방법은 제1 및 제2 HDL 설명중 발생된 것을 이용하여 메모리 제어기를 제조하는 단계를 포함한다.
또 다른 실시예에서, 컴퓨터 기록가능한 매체상에 인코드된 버스트 파라메타가능한 HDL 설명은, 버스트 프로토콜 파라메터를 수신하기 위한 제1 명령 세트, 버스트 프로토콜 파라메터가 제1 값을 갖을 때 제1 메모리 제어기 모델을 발생하기 위한 제2 명령 세트, 및 버스트 프로토콜 파라메터가 제2 값을 갖을 때 제2 메모리 제어기 모델을 발생하기 위한 제3 명령 세트를 포함한다. 제1 메모리 제어기 모델은 제1 버스트 프로토콜에 따라서 동작하는 메모리 제어기에 대응하며, 제2 메모리 제어기 모델은 제2 메모리 제어기 모델은 제2 버스트 프로토콜에 따라서 동작하는 메모리 제어기에 대응한다.
또 다른 실시예에서, 제1 버스트 프로토콜 및 제2 버스트 프로토콜은 상이한 버스트 프로토콜이다. 또 다른 실시예에서, 제1 버스트 프로토콜 및 제2 버스트 프로토콜은 버스트 전달이 버스트 전달 동안에 에러를 검출하는 것에 응답하여 종료된다.
전술된 실시예중 일부는, 적용가능한 것으로서, 복수의 상이한 정보 처리 시 스템을 이용하여 실행될 수 있다. 예를들어, 도1 및 그 논의가 예시적인 정보 처리 구조를 서명한다 할지라도, 이러한 예시적인 구조는 본 발명의 여러 특징들을 논의하는데 유용한 기준을 단순히 제공하도록 제시된다. 물론, 그 구조의 설명은 논의를 위해서 간략화되었으며, 본 발명에 따라서 사용되는 것은 적당한 구조의 상이한 유형중 하나가 될 수 있다. 당업자라면 로직 블록 사이의 경계가 단순히 예시를 위한 것이며 대체 실시예들이 로직 블록 또는 회로 구성요소들을 합병할 수 있거나 여러 로직 블록 또는 회로 구성요소들에서 기능성의 교체 분해를 부과할 수 있음을 알 수 있다.
따라서, 본원에 설명된 구조는 단순히 예시를 위한 것이며, 사실상 동일한 기능성을 달성하는 많은 다른 구조들이 실행될 수 있음을 알 수 있다. 초록에는, 명확한 의미로, 동일 기능성을 달성하기 위한 임의의 구성요소로 된 장치가 효과적으로 "연관"되어 소정의 기능성이 달성된다. 따라서, 본원에서는 특정 기능성을 달성하기 위해서 결합된 임의의 두개의 구성요소들이 서로 "연관"되는 것으로 나타나서 구성 또는 중간 구성요소에 관계없이, 소정의 기능성이 달성된다. 그와 같이, 연관된 임의의 두개의 구성요소들이 소정의 기능성을 달성하기 위해서 "동작가능하게 접속되"거나, 또는 서로 "동작가능하게 결합되"는 것으로 보여질 수 있다.
또한, 예를들어, 일 실시예에서, 시스템(10)의 예시된 구성요소는 단일 집적 회로상에 배치된 또는 동일 장치내에 배치된 회로이다. 대안으로서, 시스템(10)은 임의의 수의 별도의 집적 회로 또는 서로 상호접속된 별도의 장치를 포함할 수 있다. 예를들어, 메모리(35)는 동일 집적 회로상에 마스터(12, 14)로서 배치되거나 또다른 주변장치내에 배치되거나 또는 다른 시스템(10)의 구성요소로부터 별도로 분리된 슬레이브가 될 수 있다. 주변장치(18) 및 I/O 회로(16)는 또한 별도의 집적 회로 또는 장치상에 배치될 수 있다. 또한 예를들어, 시스템(10) 또는 그 일부는 물리적 회로의 소프트 또는 코드 표시가 되거나 또는 물리적 회로로 변환가능한 논리적 표시가 될 수 있다. 그와같이, 시스템(10)은 임의의 적당한 유형의 하드웨어 설명 언어로 실시될 수 있다.
더욱이, 시스템(10)의 여러 구성요소들은 그것들의 더 일반적인 분류를 표시한다. 예를들어, 버스 마스터(12) 및 버스 마스터(14)는 마이크로프로세서, 프로세서 코어, 디지털 신호 프로세서와 같은 명령들을 실행할 수 있는 프로세서가 될 수 있거나, 또는 직접 메모리 엑세스(DMA) 회로 또는 디버그 회로와 같은 상호접속 마스터의 임의의 다른 유형이 될 수 있다. 주변장치(18)는 범용 비동기 수신기 전송기(UART), 실시간 클럭(RTC), 키보드 제어기와 같은 임의의 유형의 주변기기가 될 수 있다. 다른 슬레이브(20)는, 주변기기(18)와 같은 유형의 주변기기를 포함하는, 시스템 버스에 상주하는 임의의 유형의 주변기기는 물론이고, 마스터(12, 14)에 의해서 엑세스되는 메모리와 같은, 임의의 유형의 상호접속 슬레이브를 포함할 수 있다. I/O 회로(16)는 시스템(10)의 외부에서 정보를 수신하거나 제공하는 임의의 유형의 I/O 회로를 포함할 수 있다. 메모리(35)는 예를 들어, 판독전용 메모리(ROM), 랜덤 엑세스 메모리(RAM), 비-휘발성 메모리(예를 들어, 플래시), 자기 RAM(MRAM), 등과 같은 임의의 유형의 컴퓨터 판독가능한 매체가 될 수 있다. 본원에서는 특별히 언급되지 않는 한 어떤 특정 예의 사용이 통상적으로 그 분류를 나타내는 것으로 의도되므로, 본원에서 임의의 예시적인 리스트에서 어떤 특정한 장치를 배제하는 것은 제한이 바람직함을 나타내는 것으로 여겨서는 않된다.
시스템 상호접속(22)은 시스템 버스 프로토콜에 따라서 동작하는 시스템 버스로서 실행될 수 있거나, 여러 장치들 사이에서 정보를 경로지정하는, 스위치 회로와 같은 상호접속 회로를 이용하여 실행될 수 있다. 본원에서 사용된 것으로서, "버스"라는 용어는, 데이터, 어드레스, 제어 또는 상태와 같은 하나 이상의 여러 유형의 정보를 전달하는데 사용될 수 있는 복수의 신호 또는 도체를 일컷는데 사용된다. 본원에서 논의된 그 도체는 단일 도체, 복수의 도체, 이방향 도체 또는 양방향 도체임을 참조하여 예시 또는 설명될 수 있다. 그러나, 상이한 실시예에서는 도체의 실행이 변동될 수 있다. 예를들어, 별개의 일방향 도체가 양방향 도체 대신에 사용되거나 그 역도 가능하다. 또한, 복수의 도체가 직렬로 또는 시간 다중화 방식으로 다수의 신호를 전달하는 단일 도체와 교체될 수 있다. 그와같이, 다수의 신호를 반송하는 단일 도체는 이러한 신호의 서브셋을 반송하는 여러 상이한 도체로 분리될 수 있다. 그러므로, 신호 전달에는 많은 옵션이 존재한다.
대체 실시예에서는 특정 성분들에 대한 다수의 예들을 결합할 수 있다. 예를들어, 전술된 실시예에서, 단일 주변장치(18)가 도1에 예시된다. 다른 실시예에서, 시스템(10)은 시스템 상호접속(22)에 결합되는 임의의 수의 주변장치를 포함할 수 있다. 그와같이, 임의의 수의 마스터 및 슬레이브가 시스템 상호접속(22)에 결합되며 도1에 도시된 것에 제한되지는 않는다. 메모리(35)는 여러 유형의 임의의 수의 메모리 장치를 포함할 수 있다.
대체 실시예에서, 제어 레지스터(38)는 필요에 따라서, 다소간의 비트를 갖는 각각의 마스터에 대해서 다소간의 필드를 포함할 수 있다. 또한, 제어 레지스터(38)의 필드에 대해서 도3에 도시된 설정이 예로서 제공된다. 대체 실시예는 도3에 제공된 것과는 다른 속성, 도3의 속성보다 많은 속성, 또는 도3의 속성의 서브셋에 기초한 에러 응답을 결정할 수 있다. 또한 대체 실시예에서, 현재 엑세스 요청에 대한 특정 속성은 도1에 도시된 신호(26, 28, 30)에 의한 것과 다른 여러 방법으로 제어 회로(40)에 표시될 수 있음을 알 수 있다.
더욱이, 당업자라면 전술된 동작의 기능성들 사이의 경계가 단순히 예시적인 것임을 알 수 있다. 다수의 동작의 기능성은 단일 동작으로 결합되며, 또는, 단일 동작의 기능성은 부가적인 동작으로 분배될 수 있다. 더욱이, 대체 실시예는 특정 동작의 다수의 경우를 포함하며, 동작의 순서는 여러 다른 실시예에서 변경될 수 있다.
본원에 설명된 소프트웨어의 전부 또는 일부는, 예를 들어, 메모리(35) 또는 다른 컴퓨터 시스템의 다른 매체와 같은 컴퓨터 판독가능한 매체로부터, 시스템(10)의 구성요소들이 될 수 있다. 그러한 컴퓨터 판독가능한 매체는 시스템(10)과 같은 정보 처리 시스템에 영구적, 착탈가능하게 또는 원격으로 결합될 수 있다. 컴퓨터 판독가능한 매체는, 예를 들어 그리고 제한없이, 다음중 임의의 수를를 포함할 수 있는데, 디스크 및 테이프 저장 매체를 포함하는 자기 저장 매체; 컴팩트 디스크 매체(예를 들어, CD-ROM, CD-R, 등) 및 디지털 비디오 디스크 저장 매체와 같은 광 저장 매체; FLASH 메모리, EEPROM, EPROM, ROM 과 같은 반도체 기반 메모리 장치를 포함하는 비휘발성 메모리 저장 매체; 강자성 디지털 메모리; MRAM; 레지스터, 버퍼 또는 캐시, 메인 메모리, RAM 등을 포함하는 휘발성 저장 매체; 및 몇개만 거명하면, 컴퓨터 네트워크, 포인트-투-포인트 전자통신 장치, 및 반송파 파 전달 매체를 포함하는 데이터 전송 매체를 포함할 수 있다.
일 실시예에서, 시스템(10)은 개인용 컴퓨터 시스템과 같은 컴퓨터 시스템이다. 다른 실시예들은 상이한 유형의 컴퓨터 시스템을 포함할 수 있다. 컴퓨터 시스템은 하나 이상의 사용자에게 독립적인 컴퓨팅 전력을 주도록 설계가 가능한 정보 조정 시스템이다. 컴퓨터 시스템은, 메인프레임, 미니컴퓨터, 서버, 워스스테이션, 개인용 컴퓨터, 노트패드, 개인 휴대 정보 단말기(PDA), 전자 자임, 자동차 및 다른 내장 시스템, 셀룰러 전화 및 여러 다른 무선 장치를 포함하되 이에 제한되지는 않는 많은 형태에서 찾아볼 수 있다. 통상적인 컴퓨터 시스템은 적어도 하나의 처리 장치, 연관 메모리 및 다수의 입/출력(I/0) 장치를 포함한다.
컴퓨터 시스템은 프로그램에 따라 정보를 처리하며 I/O를 통해서 결과적인 출력 정보를 생성한다. 프로그램은 특정 응용 프로그램 및/또는 운영 체제와 같은 일련의 명령이다. 컴퓨터 프로그램은 통상적으로 컴퓨터 판독가능한 저장 매체에 내부적으로 저장되거나 컴퓨터 판독가능한 전송 매체를 통해서 컴퓨터 시스템에 전송된다. 컴퓨터 처리는 통상적으로 프로그램 또는 프로그램의 일부, 현재 프로그램 값 및 상태 정보, 및 프로세스의 실행을 관리하기 위해 운영 체제에 의해서 사용되는 자원을 실행하는 것을 포함한다. 모 프로세스는 모 프로세스의 전체 기능성을 수행하도록 다른 자 프로세스를 야기시킬 수 있다. 모 프로세스가 특정하게 모 프로세스의 전체 기능성의 일부를 수행하도록 자 프로세스를 생기게 하므로, 자 프로세스(및 손자 프로세스 등)에 의해서 수행되는 기능은 때로 모 프로세스에 의해서 수행되는 것으로 설명될 수 있다.
전술된 설명이 예시적인 것이므로, "일 실시예"가 설명될 때, 이는 예시적인 실시예이다. 따라서, 본문에서 "일"이라는 말을 사용하는 것은 그 하나를 표시하기 위한 것이 아니며 단지 하나의 실시예가 설명된 특징을 갖을 수 있다. 오히려, 많은 다른 실시예들은, 예시된 "하나의 실시예"의 설명된 특징을 갖을 수 있으며, 때로는 갖는다. 따라서, 위에서 사용된 바와 같이, 본 발명이 일 실시예의 문맥에서 설명될 때, 이 일 실시예는 본 발명의 많은 가능성있는 실시예들중 하나이다.된
상세한 설명에서 "일 실시예"라는 말의 사용에 관한 전술된 경고에도 불구하고, 당업자라면 특정 수의 도입된 청구 요소가 다음의 청구범위에 의도된 바와같으면, 그러한 의도는 청구범위에 확연히 상술되며, 그러한 상술이 없을 때 그러한 제한은 존재 또는 의도되지 않은 것임을 알 수 있다. 예를들어, 후술되는 청구범위에서, 청구 요소가 "하나의(one)" 특징을 갖는 것으로 설명될 때, 그 요소는 설명된 특징중 하나 또는 단지 하나에 제한되는 것으로 의도된다. 더욱이, 청구 요소가 아래 청구범위에서 "하나의(a)" 특징을 포함하는 것으로 설명될 때, 그 요소는 설명된 특징중 하나 또는 단지 하나에 제한되는 것으로 의도되지 않는다. 오히려, 예를들어, 하나의(a)" 특징을 포함하는 청구항은 문제가 되는 하나 이상의 특징을 포함하는 장치 또는 방법으로 해석된다. 즉, 문제의 장치 또는 방법이 하나의 특징을 포함하므로, 청구항은 그 장치 또는 방법이 그러한 또 다른 유사한 특징을 포함하는지에 관계없는 장치 또는 방법으로 해석한다. 본원에서 "하나의(a)" 라는 말을 청구항의 특징에 대해서 제한없이, 도입 관사로서 사용하는 것을 출원인은 과거 많은 법원에 의해서 채택된 바와같은 해석과 일치한 것으로 채택한다. 이는 임의의 예외적인 또는 선례가 있는 사건의 법률이 있을 수도 있음에도 불구하고 그와같다. 유사하게, 하나의 청구 요소가 전술된 특징(예를 들어, "그(the)" 특징)을 포함하는 것으로 후술되는 청구범위에 설명될 때, 이 요소는 단순히 정관사의 부수적인 사용에 의해서 설명되는 특징중 하나 및 단지 하나로 제한되지 않는다고 의도된다.
더욱이, 청구범위에서 "적어도 하나의" 및 "하나 이상의"와 같은 도입 문구의 사용은, 부정관사 "하나의(a, an)"에 의해서 또 다른 청구 요소를 도입하는 것이 단지 그러한 하나의 요소를 포함하는 발명에 도입된 청구 요소를 포함하는 임의의 특정 청구항을 제한하는 것으로 추론되어서는 않된다. 이는 동일한 청구항이 도입구인 "하나 이상의" 또는 "적어도 하나의" 및 "하나의(a, an)"와 같은 부정관사를 포함한다 할지라도 그러하다. 정관사의 사용에 관해서도 동일하다.
본 발명의 특정 실시예가 도시 및 설명되었지만, 당업자라면, 본원의 사상에 기초하여, 본원에 청구된 발명으로부터 벗어나지 않으면, 여러 변경, 대체 구성, 및 균등물이 사용될 수 있음이 명백하다. 결국, 첨부된 청구범위는, 그 범위내에서, 본 발명의 사상 및 범위내에 있는 것으로서, 그러한 모든 변경, 수정을 망라한다. 더욱이, 본 발명은 첨부된 청구범위에 의해서만 제한된다. 달리 명백한 언급이 없으면, 본원에 제시된 각각의 예는, 각 예에 제한없는, 비배타적인 또는 유사 한 용어들이 동시에 표현되는지에 관계없이, 비제한 또는 비배타적 예이다. 일부 예시적인 실시예 및 예시적인 변형의 윤곽이 시도되었지만, 다른 실시예 및/또는 변형도 후술되는 청구범위에서 정의된 바와같은 본 발명의 범위내에 들어온다.

Claims (10)

  1. 마스터(master)로부터 버스트 요청을 수신하는 단계,
    상기 요청된 버스트에 대응하는 버스트 특징을 결정하는 단계,
    상기 버스트 특징에 기초하여 복수의 버스트 에러 프로토콜들 중 하나를 선택하는 단계로서, 상기 버스트 특징을 결정하는 단계는 상기 요청된 버스트에 대응하는 버스트 유형을 결정하는 단계를 포함하고, 상기 선택된 버스트 에러 프로토콜은 상기 버스트 유형에 기초하여 선택되는, 상기 선택하는 단계; 및
    상기 선택된 버스트 에러 프로토콜에 따라 상기 버스트 요청에 응답하는 단계를 포함하는 방법.
  2. 하나 이상의 프로세서들에 의해 적어도 부분적으로 실행되는 메모리 제어기에 있어서,
    요청된 버스트 전달에 대응하는 적어도 하나의 버스트 특징을 결정하고 상기 적어도 하나의 버스트 특징에 기초하여 버스트 에러 프로토콜을 선택하는 버스트 프로토콜 선택 로직으로서, 상기 적어도 하나의 버스트 특징은 상기 요청된 버스트 전달의 버스트 유형을 포함하는, 상기 버스트 프로토콜 선택 로직;
    상기 버스트 프로토콜 선택 로직에 결합되고, 상기 선택된 버스트 에러 프로토콜에 따라 요청된 버스트에 응답하고, 상기 요청된 버스트에 응답하여 상기 요청된 버스트 전달을 개시하는 제어 로직으로서,
    상기 요청된 버스트 전달 동안 에러를 검출하는 에러 검출 로직; 및
    상기 버스트 프로토콜 선택 로직에 의해 제공된 상기 선택된 버스트 에러 프로토콜에 기초하여 상기 요청된 버스트 전달을 선택적으로 종료하는 종료 제어 로직을 더 포함하는, 상기 제어 로직; 및
    상기 버스트 프로토콜 선택 로직에 결합된 제어 레지스터를 포함하고,
    상기 버스트 프로토콜 선택 로직은 상기 적어도 하나의 버스트 특징 및 상기 제어 레지스터에 저장된 정보에 기초하여 상기 버스트 에러 프로토콜을 선택하고, 상기 제어 레지스터에 저장된 상기 정보는 복수의 버스트 에러 프로토콜들을 나타내고, 상기 버스트 프로토콜 선택 로직은 상기 복수의 버스트 에러 프로토콜들로부터 상기 버스트 에러 프로토콜을 선택하고, 상기 복수의 버스트 에러 프로토콜들 각각은 버스트 유형에 대응하고, 상기 버스트 유형은 판독 버스트 유형, 기록 버스트 유형, 제한된(bounded) 버스트 유형, 및 제한되지 않은(unbounded) 버스트 유형 중 적어도 하나를 포함하는, 메모리 제어기.
  3. 하나 이상의 프로세서들에 의해 적어도 부분적으로 실행되는 메모리 제어기에 있어서,
    마스터로부터 버스트 요청을 수신하는 수단;
    상기 요청된 버스트에 대응하는 버스트 특징을 결정하는 수단;
    상기 버스트 특징에 기초하여 복수의 버스트 에러 프로토콜들 중 하나를 선택하는 수단; 및
    상기 선택된 버스트 에러 프로토콜에 따라 상기 버스트 요청에 응답하는 수단을 포함하고, 상기 선택된 버스트 에러 프로토콜에 따라 상기 버스트 요청에 응답하는 수단은,
    버스트 전달을 개시하는 수단;
    상기 버스트 전달 동안 에러를 검출하는 수단; 및
    상기 선택된 버스트 에러 프로토콜에 기초하여 상기 버스트 전달을 선택적으로 종료하는 수단을 포함하는, 메모리 제어기.
  4. 하나 이상의 프로세서들에 의해 적어도 부분적으로 실행되고, 복수의 마스터들과 통신하도록 구성된 메모리 제어기에 있어서,
    요청된 버스트 전달에 대응하는 상기 복수의 마스터들 중 하나의 아이덴티티(identity)를 결정하고 상기 복수의 마스터들 중 상기 하나의 상기 아이덴티티에 기초하여 버스트 에러 프로토콜을 선택하는 버스트 프로토콜 선택 로직;
    상기 버스트 프로토콜 선택 로직에 결합된 제어 레지스터로서, 상기 버스트 프로토콜 선택 로직은 상기 복수의 마스터들 중 상기 하나의 상기 아이덴티티 및 상기 제어 레지스터에 저장된 정보에 기초하여 상기 버스트 프로토콜을 선택하는, 상기 제어 레지스터; 및
    상기 버스트 프로토콜 선택 로직에 결합되고, 상기 선택된 버스트 에러 프로토콜에 따라 요청된 버스트에 응답하는 제어 로직을 포함하는, 메모리 제어기.
  5. 하나 이상의 프로세서들에 의해 적어도 부분적으로 실행되는 메모리 제어기 있어서,
    요청된 버스트 전달에 대응하는 적어도 하나의 버스트 특징을 결정하고, 상기 적어도 하나의 버스트 특징에 기초하여 복수의 버스트 에러 프로토콜들로부터 버스트 에러 프로토콜을 선택하는 버스트 프로토콜 선택 로직으로서, 상기 메모리 제어기는 복수의 마스터들과 통신하도록 구성되고, 상기 복수의 버스트 에러 프로토콜들 각각은 상기 복수의 마스터들 중의 마스터에 대응하는, 상기 버스트 프로토콜 선택 로직; 및
    상기 버스트 프로토콜 선택 로직에 결합되고, 상기 선택된 버스트 에러 프로토콜에 따라 요청된 버스트에 응답하는 제어 로직을 포함하는, 메모리 제어기.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
KR1020067017808A 2004-03-03 2005-01-21 다중 버스트 프로토콜 장치 제어기 KR101036445B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/792,591 US7334059B2 (en) 2004-03-03 2004-03-03 Multiple burst protocol device controller
US10/792,591 2004-03-03

Publications (2)

Publication Number Publication Date
KR20060126580A KR20060126580A (ko) 2006-12-07
KR101036445B1 true KR101036445B1 (ko) 2011-05-24

Family

ID=34911887

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067017808A KR101036445B1 (ko) 2004-03-03 2005-01-21 다중 버스트 프로토콜 장치 제어기

Country Status (9)

Country Link
US (1) US7334059B2 (ko)
EP (1) EP1723532B1 (ko)
JP (1) JP4652394B2 (ko)
KR (1) KR101036445B1 (ko)
CN (1) CN100470519C (ko)
AT (1) ATE461488T1 (ko)
DE (1) DE602005019985D1 (ko)
TW (1) TWI358662B (ko)
WO (1) WO2005096161A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496695B2 (en) 2005-09-29 2009-02-24 P.A. Semi, Inc. Unified DMA
DE112006003922T5 (de) * 2006-06-28 2009-04-30 Intel Corporation, Santa Clara Modifikation bei einem Meggit-Decodierer für Fehlerkorrekturverfahren bei Bursts
US8572302B1 (en) * 2006-10-13 2013-10-29 Marvell International Ltd. Controller for storage device with improved burst efficiency
CN102681957B (zh) * 2006-12-22 2015-04-29 高通股份有限公司 增强的无线 usb 协议和集线器
US8001338B2 (en) * 2007-08-21 2011-08-16 Microsoft Corporation Multi-level DRAM controller to manage access to DRAM
CN101470678B (zh) * 2007-12-29 2011-01-19 中国科学院声学研究所 基于突发乱序的存储器控制器、系统及其访存调度方法
US8180975B2 (en) * 2008-02-26 2012-05-15 Microsoft Corporation Controlling interference in shared memory systems using parallelism-aware batch scheduling
US20090248910A1 (en) * 2008-04-01 2009-10-01 Apple Inc. Central dma with arbitrary processing functions
FR2942331A1 (fr) * 2009-02-18 2010-08-20 Stmicroelectronics Grenoble 2 Systeme et procede de traitement de donnees numeriques
CN105302746A (zh) * 2014-07-04 2016-02-03 Lsi公司 多协议存储控制器
JP6988092B2 (ja) * 2017-01-16 2022-01-05 富士通株式会社 並列処理装置およびバーストエラー再現方法
US10606678B2 (en) 2017-11-17 2020-03-31 Tesla, Inc. System and method for handling errors in a vehicle neural network processor
CN114609955B (zh) * 2022-05-10 2022-08-12 浙江浙能航天氢能技术有限公司 一种加氢用多功能通用控制器设计及控制方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816829B1 (en) 2000-01-04 2004-11-09 International Business Machines Corporation System and method to independently verify the execution rate of individual tasks by a device via simulation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4710916A (en) 1985-08-02 1987-12-01 Gte Laboratories Incorporated Switching apparatus for burst-switching communications system
JPH05204845A (ja) * 1992-01-30 1993-08-13 Fujitsu Ltd データ処理装置及びその制御方法
JPH0844665A (ja) * 1994-07-14 1996-02-16 Fujitsu Ltd 複数のデータ転送サイズ及びプロトコルをサポートするバス
US5548587A (en) 1994-09-12 1996-08-20 Efficient Networks, Inc. Asynchronous transfer mode adapter for desktop applications
US5774683A (en) 1996-10-21 1998-06-30 Advanced Micro Devices, Inc. Interconnect bus configured to implement multiple transfer protocols
JPH1185673A (ja) * 1997-09-02 1999-03-30 Hitachi Ltd 共有バスの制御方法とその装置
US6195770B1 (en) 1998-03-31 2001-02-27 Emc Corporation Data storage system
JP3462468B2 (ja) 2000-11-27 2003-11-05 松下電器産業株式会社 Ofdm受信装置、ofdm送信装置およびofdm通信方法
US6775727B2 (en) * 2001-06-23 2004-08-10 Freescale Semiconductor, Inc. System and method for controlling bus arbitration during cache memory burst cycles
US7032045B2 (en) 2001-09-18 2006-04-18 Invensys Systems, Inc. Multi-protocol bus device
JP4071117B2 (ja) * 2003-01-23 2008-04-02 シャープ株式会社 送受信回路及び送受信方法並びに送受信装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816829B1 (en) 2000-01-04 2004-11-09 International Business Machines Corporation System and method to independently verify the execution rate of individual tasks by a device via simulation

Also Published As

Publication number Publication date
ATE461488T1 (de) 2010-04-15
DE602005019985D1 (ko) 2010-04-29
CN100470519C (zh) 2009-03-18
WO2005096161A1 (en) 2005-10-13
TW200535690A (en) 2005-11-01
JP4652394B2 (ja) 2011-03-16
US7334059B2 (en) 2008-02-19
EP1723532B1 (en) 2010-03-17
TWI358662B (en) 2012-02-21
CN1926525A (zh) 2007-03-07
US20050198413A1 (en) 2005-09-08
KR20060126580A (ko) 2006-12-07
EP1723532A1 (en) 2006-11-22
EP1723532A4 (en) 2007-08-22
JP2007527071A (ja) 2007-09-20

Similar Documents

Publication Publication Date Title
KR101036445B1 (ko) 다중 버스트 프로토콜 장치 제어기
JP4139771B2 (ja) キャッシュメモリバーストサイクル中にバスアービトレーションを制御するためのシステム及び方法
JP5475880B2 (ja) マルチレベル状態伝達機能を備えるメモリシステムおよびその操作方法
JP2007535760A (ja) 開発インターフェースに対する適用性を有するデータ処理システム内におけるマスキング
JP5947398B2 (ja) 統合データマスキング、データポイズニング及びデータバス反転シグナリング
US10866736B2 (en) Memory controller and data processing circuit with improved system efficiency
US6836833B1 (en) Apparatus and method for discovering a scratch pad memory configuration
US9116856B2 (en) Intelligent dual data rate (DDR) memory controller
KR20140035772A (ko) 임베디드 멀티미디어 카드, 상기 임베디드 멀티미디어 카드를 포함하는 임베디드 멀티미디어 카드 시스템 및 상기 임베디드 멀티미디어 카드의 동작 방법
US20140344492A1 (en) Methods and systems for reducing spurious interrupts in a data storage system
EP3462321B1 (en) Techniques to perform memory indirection for memory architectures
US9697163B2 (en) Data path configuration component, signal processing device and method therefor
WO2008024336A2 (en) Write data mask method and system
JP2007500402A (ja) 周辺装置アクセス保護付きデータ処理システム
US20110200059A1 (en) BIT Inversion For Communication Interface
CN106940684B (zh) 一种按比特写数据的方法及装置
JP2009181579A (ja) 機能を呼び出す方法、サブシステムおよびシステム
US8151061B2 (en) Ensuring coherence between graphics and display domains
US11604739B2 (en) Conditional direct memory access channel activation
JP6586398B2 (ja) オプションコード供与回路及びその供与方法
KR20050037695A (ko) 플래시메모리 제어기

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140512

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150508

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180510

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190430

Year of fee payment: 9