KR20080022185A - 통신 시스템 노드, 저장 유닛 및 데이터 저장 방법 - Google Patents
통신 시스템 노드, 저장 유닛 및 데이터 저장 방법 Download PDFInfo
- Publication number
- KR20080022185A KR20080022185A KR1020087000606A KR20087000606A KR20080022185A KR 20080022185 A KR20080022185 A KR 20080022185A KR 1020087000606 A KR1020087000606 A KR 1020087000606A KR 20087000606 A KR20087000606 A KR 20087000606A KR 20080022185 A KR20080022185 A KR 20080022185A
- Authority
- KR
- South Korea
- Prior art keywords
- buffer
- data
- list
- control list
- entry
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9068—Intermediate storage in different physical parts of a node or terminal in the network interface card
- H04L49/9073—Early interruption upon arrival of a fraction of a packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/14—Flow control between communication endpoints using intermediate storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Systems (AREA)
Abstract
본 발명은 통신 시스템 노드를 위한 데이터 저장 유닛, 데이터 저장 방법 및 통신 시스템 노드에 관한 것이다. 특히, 본 발명은 시간-트리거링된 프로토콜이 노드상에서 실행되는 시스템 또는 호스트-제어기 레벨상의 통신 제어기의 외부에 위치된 유닛에 버퍼링 데이터 및 제어 데이터를 저장하는 것에 관한 것이다. 포맷 및 동작을 포함하는 제어 및 버퍼링 관련 데이터를 통신 제어기의 외부에 위치시킴으로써, 데이터 버퍼링 관련 제약, 예를 들면, 버퍼 크기 및 버퍼의 수가 통신 제어기 레벨로부터 시스템 레벨로 이동되어, 더욱 융통성있고, 확장가능하며, 재구성가능하게 된다.
Description
본 발명은 통신 시스템 노드를 위한 데이터 저장 유닛, 데이터 저장 방법 및 통신 시스템 노드에 관한 것이다. 특히, 본 발명은 시간-트리거링된 프로토콜(time-triggered protocol)이 노드상에서 실행되는 시스템 또는 호스트-제어기 레벨상의 통신 제어기의 외부에 위치된 유닛에 버퍼링 데이터 및 제어 데이터를 저장하는 것에 관한 것이다.
최근, 자동차 산업에서는 그들의 제품에 도입되는 전자 시스템의 양이 크게 증가되고 있다. 다양한 전자 제어 유닛(ECU)의 동작을 위한 상이한 통신 시스템이 개발되어 왔다. 일반적으로, 통신 시스템은 서로 통신하는 다수의 유닛 또는 노드를 포함한다. 통상적으로, 통신은 동일한 배선의 세트에 대해 수 개의 노드를 논리적으로 접속하는 버스를 통해 수행된다. 각각의 노드는 호스트-제어기, 통신 제어기 및 데이터를 생성하는 물리적 장치로 구성된다. 통신 제어기는 호스 트 제어기에 의해 수신된 데이터를 송신하고, 수신된 데이터를 호스트 제어기에게 공급한다.
상이한 버스 시스템이 본 기술 분야에 알려져 있다. LIN-Bus(Local Interconnect Network)는 현재의 자동차 네트워크 아키텍쳐내에서 이용되는 버스 시스템이다. 그것은 차량에서의 메카트로닉 응용을 위해 설계되며, 작고 다소 느린 네트워크 시스템이다. 집적된 부재들은 지능형 감지기 장치 또는 액츄에이터이다. 하나의 전용 노드는 LIN 마스터로서 셋업(set up)되고, 다른 모든 부착된 노드들은 LIN 슬레이브이다. 이러한 토폴로지는 고정되며, 이후에 변경될 수 없다.
보다 고속의 네트워크는 전자 제어 유닛들을 접속하기 위해 1980년대에 처음에 개발된 멀티캐스트 공유 직렬 버스 표준인 제어기 영역 네트워크(Controller Area Network; CAN)이다. CAN은 특히 잡음이 있는 환경에서 강건하도록 설계되었으며, 버스상에 커다란 변형을 발생시키지 않으면서, 임의의 장치가 임의의 다른 장치 또는 네트워크와 통신 및 동작할 수 있도록 하는 네트워크이다. 그것은 자동차 응용에서, 예를 들면, 공기 상태 제어 유닛(air condition control unit), 시트 액츄에이터(seat actuator), 중앙화된 창문 잠금 시스템(centralized door locking system) 또는 가속 스키드 제어(acceleration skid control)를 위해 이용된다. CAN 네트워크 이외에도, 많은 차량이 보다 작은 서브네트워크에 대해 추가적인 LIN 버스를 이용한다.
그러나, 다수의 감지기, 액츄에이터 및 전자 제어 유닛을 결합하는 진보된 제어 시스템의 도입은, 현존 통신 프로토콜에 의해 현재 해결되지 않은 통신 기법에 대한 요구를 제기하기 시작하고 있다. 신뢰도 및 생존성(survivability)에서의 엄격한 요건을 부과하는 기계적 및 유압 브레이킹 및 스티어링 시스템의 배선 배치를 위해, 분배형 결함 허용 컴퓨터 시스템은 의무적인 것이다. 더욱이, 안전 관련 응용은 실시간 데이터 관리를 필요로 한다. 높은 우선순위의 메시지는 모든 상황에서의 사전정의된 양의 시간에 송신되어야 한다. 증가된 기능 및 보드상의(on-board) 진단에 대한 요구가 또한 증가됨에 따라, 대역폭 및 시스템 확장 둘다에 있어서의 융통성 또한 주된 속성이다. 진보된 제어 시스템은 현존하는 CAN 통신 버스에 대한 경계 요구를 제기하기 시작하였다.
FlexRay 시스템은 결정론적 에러-허용 통신 및 10Mbit/s까지의 높은 데이터율을 갖는 버스 시스템을 위한 요구를 충족시키기 위해 제안되었다. 그것은 네트워크 구성의 변경과 관련하여 매우 융통성이 있다. CAN, FlexRay와 같은 현재의 이벤트-트리거링된 통신 프로토콜과는 반대로, 이벤트-트리거링 이벤트와 함께 시간-트리거링을 결합한다. FlexRay 시스템의 핵심에는 FlexRay 통신 프로토콜이 있다. 그러한 프로토콜은 스케일러블 정적 및 동적 메시지 송신을 결합하고, 잘 알려진 동기 및 비동기 프로토콜의 이점을 통합함으로써, 융통성 및 결정론(determinism)을 제공한다. 그러한 프로토콜은 전역 시간 기반을 통한 결함-허용 클럭 동기화, 충돌없는 버스 액세스, 식별자를 통한 메시지 지향 어드레싱, 단일 또는 이중 채널의 지원을 통한 스케일러블 시스템 결함-허용을 지원한다.
FlexRay 제어기는 그 각각의 채널을 위한 송신기 및 수신기 유닛을 포함하 며, 각각의 송신기 및 수신기 유닛은 2개의 독립적인 유닛, 타이밍 유닛, 호스트에 대한 접속을 위한 제어기 호스트 인터페이스(CHI) 및 프로토콜 상태 머신으로 또한 분리될 수 있다. 추출된 데이터 또는 송신을 위한 데이터는 버퍼에 저장된다. FlexRay 아키텍쳐 레벨은 호스트 레벨, 제어기 호스트 인터페이스 레벨, 프로토콜 엔진 레벨, 채널 인터페이스 레벨 및 가능한 채널 A 및 B를 갖는 토폴로지 레벨을 포함한다. 제어기 호스트 인터페이스를 통해 송신된 데이터는 네트워크 또는 노드 구성과 관련된 상태 데이터, 제어 데이터, 예를 들면, 외부 클럭 동기화, 메시지 데이터 또는 구성 데이터를 포함한다.
EP 1355456은 FlexRay 프로토콜을 개시하고 있다. 통신에 대한 통신 사이클을 생성할 수 있는 통신 라인에 연결된 적어도 하나의 노드 및 통신을 위한 수단을 갖는 네트워크 시스템이 제공된다.
통신 사이클은 FlexRay내의 매체 액세스 방안의 기본적인 요소이다. 그것은 타이밍 계층구조에 의해 정의된다. 타이밍 계층구조는 도 1에 도시된 바와 같은 4개의 타이밍 계층구조 레벨로 구성된다. 최고 레벨, 즉, 통신 사이클 레벨은 통신 사이클을 정의한다. 그것은 정적 세그먼트, 동적 세그먼트, 심볼 윈도우 및 네트워크 아이들 시간(NIT)을 포함한다. 다음 하위 레벨, 즉, 중재 그리드 레벨은 FlexRay 매체 중재의 백본(backbone)을 형성하는 중재 그리드를 포함한다. 정적 세그먼트에서, 중재 그리드는 정적 슬롯이라고 지칭되는 연속적인 시간 간격으로 구성되고, 동적 세그먼트에서, 중재 그리드는 미니 슬롯이라고 지칭되는 연속적인 시간 간격으로 구성된다.
WO 2005/002145는 네트워크에서의 네트워크 노드의 호스트 프로세서 및 통신 제어기에 의해 액세스되는 메모리를 관리하기 위한 어셈블리 및 방법을 개시하고 있다. 바람직하게, 어셈블리 및 방법은 FlexRay 버스 시스템에 적용된다. 식별자가 각각의 데이터 메시지에 할당되고, 관련된 식별자의 수에 대응하는 다수의 버퍼가 네트워크 노드의 메모리에 제공된다. 제어 데이터는 식별자에 할당되었던 버퍼들 중 적어도 일부에 저장된다.
WO 2004/105328은 CAN 또는 FlexRay 시스템에 적용가능한 통신 프로토콜 및 방법을 위한 메시지 메모리를 기술하고 있다. 메시지 메모리로서 특정 수의 세그먼트로 분할된 가상 메모리 표현 및 물리적 메모리의 결합을 이용함으로써, 메모리는 메시지 대상 및 그들의 데이터 용량의 양의 관점에서 소정의 응용에서의 특정 이용을 위한 최적화를 허용한다.
FlexRay와 같은 현대의 통신 시스템은 특히 결함-허용 및 융통성을 위해 설계된다. 현존하는 해결책의 단점은, 구성 데이터 및 버퍼 데이터가 통신 제어기 내부의 전용 로직을 통해 처리됨으로써, 이러한 데이터에 대한 임의의 액세스가 통신 제어기 액세스 슬레이브 포트를 통해 처리되어야 한다는 것이다. 제어기 내부의 그러한 전용 로직은 네트워크의 구성 공간에 제약을 부여하며, 최대 수의 버퍼를 정의하므로, 통신 시스템의 융통성에 대한 상한을 제공한다.
본 발명의 목적은 시간-트리거링된 프로토콜에 근거하여 통신 시스템의 융통성을 증가시키는 통신 시스템 노드를 위한 데이터 저장 유닛, 데이터 저장 방법 및 통신 시스템 노드를 제공하는 것이다.
본 발명의 다른 목적은 시간-트리거링된 프로토콜에 근거하여 통신 시스템의 생산 비용을 감소시키는 통신 시스템 노드를 위한 데이터 저장 유닛, 데이터 저장 방법 및 통신 시스템 노드를 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 양상에 따르면, 호스트 제어기와, 호스트-제어기 레벨상의 적어도 하나의 일반 메모리 유닛과, 통신 제어기를 포함하며, 통신은 시간-트리거링된 프로토콜에 근거하고, 구성 및 버퍼링 관련 데이터를 위한 적어도 하나의 저장 유닛이 호스트 제어기 레벨상의 통신 제어기 외부에 제공되며, 통신 제어기에는 구성 및 버퍼링 관련 데이터를 위한 저장 유닛이 제공되지 않는다.
포맷, 동작 및 사이클/슬롯 커플링을 포함하는 FlexRay 데이터 버퍼링 관련 데이터를 통신 제어기(CC) 외부에 위치시킴으로써, 데이터 버퍼링 관련 제약, 예를 들면, 버퍼 크기 및 버퍼의 수가 내부-CC 레벨로부터 외부-CC 시스템 레벨로 이동되어, 더욱 융통성있고, 확장가능하며, 재구성가능하게 된다.
저장 유닛은 이하의 연결된 데이터 구조, 즉,
- 통신 제어기 시간 슬롯을 그들 각각의 버퍼와 관련시키며, 버퍼 제어 리스트와 연결되는 슬롯 제어 리스트와,
- 버퍼를 그의 버퍼 엔트리와 관련시키며, 버퍼 서술자 리스트와 연결되는 버퍼 제어 리스트와,
- 버퍼 엔트리를 그의 프레임 또는 메시지 데이터와 관련시키며, 프레임 버퍼와 연결되는 버퍼 서술자 리스트와,
- 프레임 또는 메시지 및 상태 데이터를 유지하는 프레임 버퍼를 포함한다.
슬롯 제어 리스트는 통신 시스템 노드에 대한 통신 제어기 슬롯의 관련성 및 목적의 정의를 제공하며, 그의 버퍼에 대한 논리적 연결을 유지한다.
버퍼 제어 리스트는 동작의 정의를 제공하며, 버퍼의 상태를 유지하고, 버퍼의 버퍼 엔트리에 대한 논리적 연결을 유지한다.
버퍼 서술자 리스트는 버퍼 엔트리의 특성의 정의를 제공하며, 프레임 버퍼에 대한 논리적 연결을 유지한다.
프레임 버퍼는 프레임 또는 메시지 및 상태 데이터를 유지하는 저장 영역을 제공한다.
상기 슬롯 제어 리스트 및 상기 버퍼 제어 리스트는 적절한 오프셋을 베이스어드레스에 추가하는 계산 유닛을 통해 연결된다. 상기 버퍼 제어 리스트 및 상기 버퍼 서술자 리스트는 제 2의 '적절한 오프셋을 베이스어드레스에 추가' 어드레스 계산 유닛을 통해 연결된다. 상기 버퍼 서술자 리스트 및 상기 프레임 버퍼는 정규 어드레스를 통해 연결된다.
바람직한 실시예에서, 저장 유닛은 시스템 또는 호스트 제어기 레벨상의 상기 일반 메모리 유닛 내부, 및 통신 제어기 외부에 위치된 범용 로직이다.
통신 제어기는 데이터 검색, 해석, 실행 및 상태 갱신을 위한 전용 로직을 통합하며, 슬롯 제어 리스트에서의 엔트리를 어드레싱하기 위해 슬롯 제어 리스트에 연결된 슬롯 제어 리스트 어드레싱 유닛과, 버퍼 제어 리스트에서의 엔트리를 어드레싱하는 버퍼 제어 리스트 어드레싱 유닛이 제공되고, 버퍼 제어 리스트 어드레싱 유닛은 슬롯 제어 리스트와 버퍼 제어 리스트 사이의 상기 어드레스 계산 유닛에 연결되며, 버퍼 서술자 리스트 어드레싱 유닛은 상기 버퍼 서술자 리스트에서의 엔트리를 어드레싱하고, 버퍼 서술자 리스트 어드레싱 유닛은 버퍼 제어 리스트와 버퍼 서술자 리스트 사이의 상기 어드레스 계산 유닛에 연결된다.
바람직한 실시예에서, 통신 제어기는 FlexRay 데이터 링크 제어기로서 실현되며, 상기 시간-트리거링된 프로토콜은 FlexRay 프로토콜이다.
따라서, 통신 시스템내의 저장 유닛이 제공되고, 시스템에는 0 또는 그 이상의 활성 시간 슬롯 및 송신(Tx) 또는 수신(Rx)을 위한 적어도 하나의 논리 버퍼가 제공되며, 저장 유닛은 연결된 데이터 구조의 세트, 즉,
- 통신 제어기 시간 슬롯을 그들 각각의 버퍼와 관련시키며, 버퍼 제어 리스트와 연결되는 슬롯 제어 리스트와,
- 버퍼 엔트리를 버퍼와 관련시키며, 버퍼 서술자 리스트와 연결되는 버퍼 제어 리스트와,
- 버퍼 엔트리를 그의 프레임 또는 메시지 데이터와 관련시키며, 프레임 버퍼와 연결되는 버퍼 서술자 리스트와,
- 프레임 또는 메시지 및 상태 데이터를 유지하는 프레임 버퍼를 포함한다.
버퍼는 데이터를 유지하며, 기본적으로 3개의 상태, 즉, 빈 상태(empty), 가득 찬 상태(full) 및 중간 상태(in-between)를 가질 수 있다. 빈 상태의 버퍼는, 예를 들면, 그것이 적절한 BCL 및 BDL 데이터를 갖지만, 프레임 버퍼에 연결되지 않기 때문에 그러한 상태일 수 있다. 이것은 유효한 구성이며, 본 발명의 융통성으로 인해 가능한 것이다.
따라서, 시간-트리거링된 통신 프로토콜을 위한 통신 시스템내의 데이터 저장을 위한 방법은,
- 통신 제어기를 통해 슬롯 제어 리스트의 엔트리를 어드레싱하는 단계와,
- 슬롯 제어 리스트 엔트리를 버퍼 제어 리스트 엔트리와 연결하여, 시간 슬롯을 버퍼와 관련시키고, 상기 통신 제어기를 통해 버퍼 제어 리스트의 이러한 엔트리를 어드레싱하는 단계와,
- 버퍼 제어 리스트 엔트리를 버퍼 서술자 리스트 엔트리와 연결하여, 버퍼를 버퍼 엔트리와 관련시키고, 상기 통신 제어기를 통해 버퍼 서술자 리스트의 이러한 엔트리를 어드레싱하는 단계와,
- 상기 버퍼 서술자 리스트의 엔트리를 프레임 버퍼와 연결하고, 상기 통신 제어기를 통해 이러한 프레임 버퍼를 어드레싱하는 단계를 포함한다.
이들 각각의 단계는 조건적인데, 즉, SCL 엔트리는 그것이 판독 예정인 때까지, 즉, 이전의 SCL 엔트리에 의해 그와 같이 식별될 때까지 판독되지 않는다. SCL 엔트리가 동작을 요구하지 않는다면, BCL이 판독되지 않게 되는 등으로 된다. 또한, 이것은 요소가 판독되고, 통신 제어기의 동작에 그와 같이 영향을 미치는 것을 신중하게 피할 수 있기 때문에, 본 발명의 융통성에 추가된다.
본 발명의 이점은, 데이터 링크 제어기/통신 제어기 외부의 버퍼링은 그것의 구성 공간, 예를 들면, 지원된 동작, 최대 버퍼 수를 정의하는 문제를, DLC/CC로부터 시스템 레벨로 이동시킨다는 것이다. 이러한 방식으로, DLC/CC 그 자체 내부의 메모리의 양 대신에, 시스템 레벨에서 이용가능한 메모리의 양으로부터 제약이 초래된다.
DLC/DC 구현 내부의 전용 로직을 시스템 레벨에서의 범용 메모리에서의 데이터에 의해 대체하는 것은 시스템의 비용을 감소시킨다. 그것은 보다 융통성있고, 재구성가능하며, 보다 확장가능하다.
본 발명의 상기 및 다른 목적, 특징 및 이점은, 첨부 도면에 도시된 바와 같은 본 발명의 바람직한 실시예의 보다 특정한 설명으로부터 명백할 것이다.
이제, 본 발명은 첨부 도면을 참조하면서, 예를 통해 기술될 것이다.
도 1은 FlexRay 통신 사이클을 개략적으로 도시한다.
도 2는 현 기술 수준의 통신 시스템 노드를 개략적으로 도시한다.
도 3은 본 발명에 따른 통신 시스템 노드를 개략적으로 도시한다.
도 4는 본 발명에 따른 데이터 저장 유닛과 함께 통신 제어기를 개략적으로 도시한다.
도 5는 본 발명에 따른 저장 유닛을 이용한 FlexRay 환경에서의 전형적인 데이터 흐름을 도시한다.
일반적으로, 통신 시스템은 메시지를 교환하는 다수의 노드를 포함한다. 이들 노드 각각은 호스트 제어기, 통신 제어기 및 데이터를 생성하는 물리적 유닛을 포함한다. 호스트는 응용 소프트웨어를 실행하고, 수신된 데이터를 평가하여, 통신 제어기로 송신될 데이터를 생성한다. 통신 제어기는 그것이 메시지를 송신 및 수신할 수 있는, 소위 물리적 계층의 하나 또는 두 개의 채널에 접속되고, 호스트와의 통신을 위한 제어기 호스트 인터페이스(CHI)가 제공된다.
본 발명은 임의의 네트워크 활동이 사전정의된 시간 슬롯에서 발생되는 FlexRay와 같은 시간-트리거링된 네트워크 프로토콜에 관한 것이다. 시스템은 특별한 제어 알고리즘의 도움으로 전기 제어 유닛의 국부적 시간을 조절한다. 이것은 클러스터내의 개별적인 노드의 모든 국부적 클럭이 전역 클럭과 동기하여 실행되는 것을 보장한다. 결정론적 동작을 허용하기 위해, FlexRay의 송신 방안이 사이클내로 구성된다. 각각의 통신 사이클은 구성가능한 길이의 정적 세그먼트 및 동적 세그먼트로 세분된다. 정적 세그먼트내에서, 특정 시간 윈도우 또는 슬롯이 각각의 네트워크 노드에 할당된다. 노드의 메시지는 각각의 슬롯의 고정된 시점에 송신된다. 할당된 슬롯의 정의된 송신 시간은 데이터의 결정론적 송신을 보장한다. 각각의 정적 및 동적 세그먼트의 길이는 네트워크 구성 동안에 정의된다. 프레임은 하나의 채널상의 하나의 슬롯에서 송신되며, 규정된 방법으로 패킹되는 소정 세트의 데이터로 구성된다. FlexRay는 디폴트에 의한 에러가 아닌 슬롯에서의 다수의 프레임의 Tx를 처리하는 방법을 명시적으로 정의함을 주지해야 한다. 메시지는 프레임내에 전송된 모든 응용 데이터를 포함한다. 몇 개의 메시지가 함께 패킹되어 프레임을 구성할 수 있다.
본 발명의 바람직한 FlexRay 실시예에서, 각각의 프레임은 세 개의 세그먼트, 즉, 헤더, 페이로드 및 테일러로 분할된다. 헤더는, 예를 들면, 프레임을 식별하는 프레임 ID를 포함한다. 페이로드는 프레임에 의해 전송된 데이터를 갖는다. 테일러는 에러를 검출하는데 이용된다.
상태 데이터, 제어 데이터, 메시지 데이터 또는 구성 데이터와 같은 상이한 유형의 데이터가 제어기와 호스트 사이에 통신된다.
상태 데이터는 프레임 버퍼 및 버퍼 제어 리스트(이들은 둘다 메모리에 존재함)내에 저장된다. 제어 데이터는 CC 내부의 제한된 세트의 제어 데이터(베이스어드레스 및 리스트 길이)를 통해 CC에 의해 액세스가능한 SCL, BCL, BDL 및 프레임 버퍼(이들 모두 메모리에 존재함)에 저장된다. 메시지 데이터는 프레임 버퍼에 저장되거나, 데이터를 유지하는 프레임 버퍼에 대한 액세스를 초래하지 않는 데이터 구조 셋업의 결과로서 생성된 Tx를 위한 것이다. 구성 데이터는 SCL, BCL 및 BDL(베이스어드레스 및 리스트 길이)을 액세스하는데 필요한 것이고, CC 내부에 저장되며, 나머지는 데이터 구조 내부에 저장된다. 그러므로, 메모리 영역은 메시지 영역, 즉, SCL, BCL, BDL 및 FB를 포함하는 대부분의 데이터를 호스팅한다.
메시지 영역은 송신/수신될 프레임이 각각의 프레임에 대한 상태 정보와 함께 저장되는 메모리 영역이다. 이러한 메모리 영역내의 데이터에 대한 액세스는 각각의 통신 제어기의 구성 데이터에서 결정된다. 이러한 메모리내의 데이터의 레이아웃은 SCL, BCL, BDL 및 FB의 관점에서 정의되지만, 이들 모두일 필요는 없으며, 예를 들면, SCL을 갖는 것만이 유효 구성이고, FlexRay 호환 CC 동작을 초래한다.
도 1은 FlexRay 통신 사이클의 개략도를 도시한다. 통신 사이클은 FlexRay내의 매체 액세스 방안의 기본 요소이다. 그것은 4개의 타이밍 계층구조 레벨로 구성되는 타이밍 계층구조에 의해 정의된다. 최고 레벨, 즉, 통신 사이클 레벨은 통신 사이클을 정의한다. 그것은 정적 세그먼트, 동적 세그먼트, 심볼 윈도우 및 네트워크 아이들 시간(NIT)을 포함한다. 정적 세그먼트내에서, 송신을 중재하기 위해 정적 시간 분할 다중 액세스 방안이 이용된다. 동적 세그먼트내에서, 송신을 중재하기 위해 동적 미니-슬롯팅(mini-slotting) 기반 방안이 이용된다. 다음 하위 레벨, 즉, 중재 그리드 레벨은 FlexRay 매체 중재의 백본을 형성하는 중재 그리드를 포함한다. 정적 세그먼트에서, 중재 그리드는 정적 슬롯이라고 지칭되는 연속적인 시간 간격으로 구성되고, 동적 세그먼트에서, 중재 그리드는 미니 슬롯이라고 지칭되는 연속적인 시간 간격으로 구성된다.
도 2는 현 기술 수준의 통신 버스 시스템 노드를 도시한다. 시스템은 호스트 제어기(10)와, 통신 제어기(12), 즉, 여기서는 FlexRay 제어기와, 호스트 제어기 레벨상의 일반 메모리 유닛(16)과, 부품들을 접속하기 위한 상호접속 라인을 포함한다.
임의의 호스트 제어기는 CC로부터 판독하거나 또는 CC에 기록하고자 하는 데이터를 (일시적으로) 유지하기 위해 메모리 유닛을 필요로 함을 주지해야 한다. 이러한 메모리는 CC의 존재의 결과로서 존재하지 않으며, 호스트 제어기 동작을 위해 존재한다.
호스트 제어기(10)는 마스터로서 구현되며, 통신 제어기(12)를 제어하고, 송신 및 수신 데이터, 및 통신 제어기(12)로/로부터의 제어를 교환하며, 메모리 유닛(16)으로/로부터의 송신 및 수신 데이터를 교환한다.
통신 제어기(12)에는 구성 데이터, 버퍼 데이터, 구성 제어 및 버퍼 제어를 위한 전용 로직(14)이 제공된다. 따라서, 통신 제어기(12)는 그 자체내에, 포맷 및 동작을 포함하는 모든 제어 및 버퍼링 관련 데이터를 유지하여, 이러한 데이터에 대한 임의의 액세스가 DLC/CC 액세스 포트, 예를 들면, AMBA2 AHB 슬레이브 포트를 통해 처리되도록 한다.
도 3은 본 발명에 따른 통신 시스템 노드를 도시한다. 이러한 바람직한 실시예에서, 구성 데이터 및 버퍼 데이터는 이제 주 메모리(16) 내부의 범용 로직(18)에 저장되는데, 즉, 그들은 시스템 레벨상에 저장된다.
이러한 메모리가 이미 존재하여 호스트 제어기가 동작하도록 하므로, 본 발명은 그것이 CC 데이터에 대해 (재)이용되도록 허용한다. 이것은 칩 영역 및 CPU 실행 사이클 둘다를 절약한다. 사이클은 일반 메모리 액세스에서 슬레이브 포트를 통한 액세스보다 훨씬 더 효율적이기 때문에 절약된다.
통신 제어기(12), 즉, 여기서는 다시 FlexRay 제어기는 데이터 액세스, 해석, 실행 및 갱신을 위한 전용 로직(14)을 제공한다. 데이터 링크 제어기(DLC) 또는 통신 제어기(12)(CC)는 그 자신의 마스터 포트(들)을 통해 일반 메모 리(16/18)내의 데이터 구조를 검색, 해석, 실행 및 갱신한다. 데이터 구조는 호스트(10), 즉, CPU에 의해 메모리(16)내에 처음에 위치된다. 데이터 구조내의 통신 제어기 관련 상태 데이터는 데이터 구조 갱신을 통해 통신 제어기(12)에 의해 메모리(16)내에 위치된다.
호스트 제어기에게 데이터 구조 실행 및 갱신에 관해 알려주기 위해, 통신 제어기는 호스트 제어기 쪽으로의 인터럽트(이벤트)를 지원할 수 있다. 전형적으로, 이들 이벤트는 메모리내의 데이터 구조의 상태 갱신을 반영하는 CC 내부에 유지된 상태 데이터로부터 생성된다.
포맷 및 동작을 포함하는 데이터 버퍼링 관련 데이터를 FlexRay 데이터 링크 제어기(12) 외부에, 예를 들면, 온칩 또는 오프칩 메모리에 위치시킴으로써, 데이터 버퍼링 관련 제약, 예를 들면, 지원된 동작, 버퍼 크기 및 버퍼(28)의 수 가 DLC/CC 레벨로부터 시스템 레벨로 이동되어, 훨씬 더 융통성있고, 확장가능하며, 재구성가능해진다. 또한, 이러한 데이터에 대한 호스트 제어기 액세스는, 일반 메모리내의 데이터에 대한 액세스가 전용 슬레이브 포트를 통한 CC에서의 데이터에 대한 액세스보다 훨씬 더 효율적(클럭 사이클이 적음)이므로, 더 효율적이다.
이러한 방식으로, DLC/CC(12) 그 자체 내부의 메모리의 양 대신에, 시스템 레벨에서 이용가능한 메모리의 양으로부터 제약이 초래된다. 이것은 유효하고 효율적인 소프트웨어/하드웨어 분할을 허용한다. 또한, DLC/CC 그 자체에 의해 제공된 액세스 대신에, 시스템 레벨에서 이용가능한 메모리에 의해 제공된 액세스로부터 액세스 제약이 초래된다. 이것은 또한 유효하고 효율적인 소프트웨어/하드 웨어 분할을 허용한다.
이러한 개념은 이러한 목적을 위해 전용 로직(14)을 이용하는 대신에, 요구되는 데이터 버퍼링 동작을 또한 지정하는 데이터 구조를 정의하기 위해 메모리(16/18)내의 데이터를 이용한다. 그 결과, FlexRay 프로토콜 사양 버전 2.0에 의해 현재 요구되는 것보다 특색있는 데이터 버퍼링 동작이 지원될 수 있다. FlexRay의 문맥에서의 예는 단일의 버퍼를 공유하는 슬롯을 송신, 다중 송신 또는 수신하기 위한 큐잉된 버퍼링, 및 로크/언로크 메카니즘에 대한 필요성이 없는 버퍼 액세스 및 갱신의 능력이다.
DLC/CC(12) 내부의 전용 로직(14)이 DLC/CC 외부의, 즉, 시스템 레벨상의 범용 로직(18)에 의해 대체되기 때문에, DLC/CC(12) 구현의 실리콘 비용이 감소될 수 있는데, 그 이유는, 시스템 레벨에서의 범용 로직(18)은 DLC/CC(12) 내부의 전용 로직(14)보다 저렴하기 때문이다.
본 발명의 본질적인 이점은 다음과 같다.
DLC/CC 구현 내부의 전용 로직(14)을 시스템 레벨에서의 범용 메모리(18)내의 데이터에 의해 대체함으로써 비용이 낮아진다. 이러한 범용 로직(18)은 DLC/CC(12)에 의해 이용되지 않을 때, 다른 기능과 공유될 수 있다.
보다 많은 융통성: 데이터 버퍼링의 구성 공간은 DLC/CC(12) 내부의 로직(14)의 양 대신에, 시스템 레벨에서 이용가능한 메모리(16)의 양으로 제한될 것이다.
데이터 버퍼링 동작은 메모리(16)내의 데이터에 의해 정의되기 때문에, DLC/CC(12) 그 자체를 수정할 필요성없이 추가적인 특징을 허용할 것이므로, 더욱 확장가능하다.
증가된 재구성가능 능력: DLC/CC(12)의 데이터 버퍼링 동작이 소프트웨어를 통해 쉽게 조절될 수 있으며, 그러한 동작은 전용 로직(14) 대신에 메모리내의 데이터를 통해 통제된다.
바람직하게, 저장 유닛은 시스템 레벨상의 일반적인 메모리내에 위치된다. 그러나, 그것은 시스템 또는 호스트 제어기 레벨상의 하나 이상의 개별적인 메모리들을 포함할 수도 있다.
도 4는 시스템 레벨상의 버퍼링을 위한 통신 제어기(12) 및 로직(16)을 상세히 도시한다. 본 발명에 따른 데이터 저장 방안은 메모리내의 연결된 데이터 구조의 세트에 의해 정의된다. 즉,
- DLC/CC(12) 송신 및 수신 동작을 제어하는 메모리내의 데이터 구조,
- 실제 송신 및 수신 데이터를 유지하는 메모리내의 데이터 구조,
- 송신 및 수신 상태 정보를 유지하는 메모리내의 데이터 구조,
- DLC/CC(12) 기록 액세스로부터 시스템 판독 액세스의 명확한 분리, 및 그 반대의 경우.
저장 유닛(18)은 다음과 같은 데이터 구조들을 이용한다. 즉,
- SCL 슬롯 제어 리스트(22): FlexRay 슬롯의 동작을 정의하고, FlexRay 슬롯을 그의 버퍼(28)에 연결함.
- BCL 버퍼 제어 리스트(24): 버퍼의 동작을 정의하고, 버퍼를 그의 버퍼 엔트리에 연결함.
- BDL 버퍼 서술자 리스트(26): 버퍼 엔트리의 동작을 정의하고, 버퍼 엔트리를 그의 데이터 영역(a.o. FlexRay 프레임)에 연결함.
- FB 프레임 버퍼(28): 프레임 (메시지) 및 상태 데이터의 동작을 정의하고, 그것을 유지함.
보다 정확하게, 데이터 구조는 버퍼 제어기 리스트(24)에 연결되어, 통신 제어기 시간 슬롯을 특성화하고 통신 제어기 시간 슬롯을 그들 각각의 버퍼(28)와 관련시키는 슬롯 제어 리스트(22)와, 버퍼 서술자 리스트(26)에 연결되어, 버퍼(28)를 특성화하고, 이러한 버퍼(28)를 그의 버퍼 엔트리와 관련시키는 버퍼 제어 리스트(24)와, 프레임 버퍼(28)에 연결되어, 버퍼 엔트리를 특성화하고, 이러한 버퍼 엔트리를 그의 프레임 또는 메시지 데이터와 관련시키는 버퍼 서술자 리스트(26)와, 프레임 또는 메시지 및 상태 데이터를 특성화하고 유지하는 프레임 버퍼(28)이다.
이들 데이터 구조의 목적 및 그들의 관계는 다음과 같다. 즉,
SCL(22)은 노드에 대한 관심 대상인 각각의 슬롯 또는 슬롯의 범위에 대한 엔트리의 연속적인 리스트이다. 슬롯은 노드가 데이터(Rx, Tx)를 수신 또는 송신하기 위해 해당 슬롯을 이용하고자 하는 경우, 노드에 대한 관심 대상이다. SCL(22)은 FlexRay 노드에 대한 FlexRay 슬롯의 관련성 및 목적을 정의한다. 그것은 BCL(24)에 연결되어, 버퍼를 슬롯과 관련시킨다.
2 채널 DLC/CC의 경우, 각각의 채널을 위한 2개의 SCL이 존재함을 주지해야 한다. 단지 하나의 BCL, BDL, 및 두 채널에 의해 공유될 FB들의 세트가 존재한다. 이러한 '두 종류' 및 '한 종류'는 개념적인 것인데, 그 이유는, 그것의 물리적인 구현은 상이할 수 있기 때문이며, 예를 들어, 2개의 개념적인 SCL을 단일의 연속적인 데이터 블록으로서 유지하는 단일의 물리적 메모리, 및 단일의 BCL을 유지하는 2개의 인접하고 연속적인 물리적 메모리일 수 있기 때문이다. 따라서, 본 발명은 그의 논리적 대응물을 반영하는 한, 그 물리적 표현이 자유로운 논리적 데이터 구조상에 형성될 수 있다.
또한, BCL(24)은 SCL(22)에 의해 참조되는 각각의 버퍼(28)에 대한 엔트리의 연속적인 리스트이다. 버퍼는 BCL(24), BDL(26) 및 FB(28)의 결합에 대한 요약이며, BCL(24)은 버퍼 정의를 제공하고, BDL(26)은 엔트리 정의를 제공하고, FB(28)는 버퍼 데이터를 제공하며, BCL(24)에서의 단일의 항목은 BDL(26)에서의 하나 이상의 항목과 연결된다.
일반적으로, 버퍼는 하나 이상의 엔트리를 통해 정의된 방법으로 데이터를 관리할 수 있는 구조이다. 버퍼가 다수의 BDL 엔트리를 갖더라도, 그것은 여전히 빈 상태, 즉, BDL 엔트리의 존재는 버퍼가 엔트리를 가짐을 의미하지 않으므로, 엔트리를 갖지 않는 것으로서 여전히 고려될 수 있음을 주지해야 한다. 버퍼는 그것이 액세스가능하고 내용이 정확한 BDL 엔트리 및 관련된 FB를 갖는 경우 엔트리를 갖는다. 액세스 및 내용의 명확한 조작은 본 발명에 의해 제공된 융통성의 일부이다.
BCL(24)은 동작을 정의하고, 버퍼의 상태, 예를 들면, 엔트리의 수, 판독 및 기록할 다음 엔트리를 유지하며, 버퍼 엔트리를 버퍼(28)에 관련시키기 위해 BDL(26)에 연결된다.
BCL은 버퍼당 1 엔트리를 갖는 리스트임을 주지해야 한다. 다수의 4개의 버퍼가 존재한다면, BCL은 4 엔트리를 갖는다. 제 5 버퍼가 셋업된다면, 이것은 4 엔트리 리스트의 끝에 제 5 엔트리를 추가함으로써 수행될 수 있다.
BDL(26)은 BCL(24)에서의 버퍼(28)의 일부인 각각의 엔트리에 대한 엔트리의 리스트를 제공한다. 버퍼 엔트리는 프레임 관련 데이터의 실제 위치에 대한 액세스를 제공한다. 이러한 영역은 "프레임 버퍼(28)" 라고 지칭된다. BDL(26)에서의 단일의 엔트리는 버퍼 엔트리의 특성, 예를 들면, 데이터 크기를 정의하며, 버퍼 엔트리를 그의 프레임 데이터에 관련시키기 위해 FB(28)에 연결된다.
BDL은 버퍼당 하나 이상의 엔트리를 갖는 리스트임을 주지해야 한다. 각각 3 엔트리를 갖는 4 버퍼가 존재한다면, BDL은 4 x 3 = 12의 엔트리를 갖는다.
FB(28)는 프레임(메시지) 관련 데이터를 유지하는 메모리의 영역이다. 그것은 어드레스를 통해 BDL(26)에서 참조되기 때문에, 그것은 시스템의 어드레스 범위(32 비트 어드레싱의 경우 4GB)내의 어디에라도 존재할 수 있다. FB(28)는 Rx/Tx를 위한 페이로드 데이터 뿐만 아니라, 상태 데이터를 유지할 것이다.
SCL(22)은 리스트내의 그의 상대적인 위치와 관련된 오프셋을 SCL 베이스어드레스(12a)에 추가함으로써 액세스된다.
SCL(22)은 'SCL 엔트리에서의 BCL 오프셋을 BCL 베이스어드레스(12b)에 추가' 어드레스 계산 유닛(30)을 통해 BCL(24)에 연결된다. BCL(24) 그 자체는 제 2 'BCL에서의 오프셋을 BDL 베이스어드레스(12c)에 추가' 어드레스 계산 유닛(30)을 통해 BDL(26)에 또한 연결된다. 각각의 BDL 엔트리는 프레임 버퍼(28)에 연결된다.
통신 제어기(12)는 유닛(12a)내의 제 1 SCL 엔트리의 어드레스, 유닛(12b) 내의 제 1 BCL 엔트리의 어드레스, 및 유닛(12c)내의 제 1 BDL 엔트리의 어드레스를 유지한다. 그들은 슬롯 제어 리스트(22)와, SCL(22)과 BCL(24) 사이의 제 1 어드레스 계산 유닛(30)과, BCL(24)과 BDL(26) 사이의 제 2 어드레스 계산 유닛(30)에 연결된다.
데이터 흐름은 다음과 같다. 즉, 데이터 링크 제어기(12)는 SCL 어드레싱 유닛(12a)을 통해 슬롯 제어 리스트(22)를 어드레싱한다. 슬롯 제어 리스트(22)는 각각의 시간 슬롯을, DLC/CC(12)에 의해 어드레싱된 버퍼 제어 리스트(24)와 접속한다. BCL(24)은 동작을 정의하고, 버퍼의 상태, 예를 들면, 엔트리의 수를 유지하며, BDL(26)에 연결되어 버퍼 엔트리를 버퍼와 관련시킨다. BDL(26)은 DLC/CC(12)에 의해 어드레싱된다. BDL(26)은 버퍼 엔트리의 특성, 예를 들면, 그의 데이터 크기를 정의하고, FB(28)에 연결되어 버퍼 엔트리를 그의 프레임 데이터와 관련시킨다.
일반적으로, '어드레스 계산' 이라는 용어는 오프셋을 베이스어드레스에 추가함으로써 어드레스를 생성하는 것으로 해석된다. SCL의 경우, 이것은 DLC/CC가 Tx/Rx를 행할 필요가 있는 각각의 슬롯에 대해 증가되는 SCL 엔트리 카운터를 통해 수행되지만, 이러한 카운터는 처리를 위한 실제 SCL 엔트리의 어드레스를 획득하기 위해 SCL 베이스어드레스에 추가될 오프셋으로서 작용한다. BCL의 경우, 오프셋은 SCL 엔트리이고, BDL의 경우, 오프셋은 BCL 엔트리이다.
도 5는 본 발명에 따른 저장 유닛(18)을 이용한 FlexRay 환경에서의 샘플 데이터 흐름을 도시한다. 도 5의 최상부에 도시된 통신 사이클(32)은 7개의 슬롯을 이용하며, 이러한 특정 사이클에서, 정적 세그먼트는 3개의 슬롯으로 구성되고, 동적 세그먼트는 4개의 슬롯으로 구성된다. DLC/CC(12)는 슬롯 1에서 수신하고, 슬롯 3에서 송신한다. 슬롯 2는 이용되지 않는다. 동적 슬롯은 4개의 슬롯을 위해 이용된다. DLC/CC(12)는 슬롯 4 및 5에서 수신하고, 슬롯 6에서 송신하며, 슬롯 7은 이러한 노드(100)에 의해 이용되지 않는다. 슬롯 5에서는 데이터가 수신되지 않는다.
그러한 시나리오는 메모리내의 데이터 구조의 초기화, 제어기 호스트 인터페이스(CHI)의 셋업, 프로토콜 엔진 PE와 함께 데이터 구조에 의해 정의되는 것의 실행을 커버한다.
더욱이, 그것은 CHI에 의해 이용된 AHB 버스상의 데이터 트래픽 및 CPU, 즉, 호스트(10)에 의해 이용된 것을 커버한다. CHI는 데이터 구조가 평행성 및 동시 처리를 지원함을 나타내기 위해, 4개의 개념적인 스레드에 의해 표현된다. 스레드는 다음과 같다. 즉,
- 셋업: 다음 Tx, Rx, 또는 아이들 슬롯(SCL(22); BCL(24))을 위한 설정,
- PE2Men: PE로부터 수신 및 Rx 데이터를 메모리에 저장,
- Mem2PE: 메모리로부터 데이터를 판독 및 그것을 PE로 송신,
- 랩업(wrap-up): 메모리(FB(28))내의 상태를 갱신함으로써 Tx 또는 Rx를 종료.
"I"로 라벨링된 도면의 부분에 도시된 바와 같이, FlexRay의 (예를 들면) '사이클 시작' 이벤트는 SCL의 판독, BCL의 판독, BDL의 판독, 및 FB에 대한 액세스를 트리거링하는데 이용된다. 그 다음, 슬롯 1에서의 프레임의 수신을 트리거링한다. 수신후, 메모리내의 데이터 구조는, (예를 들면) FlexRay의 '다음 슬롯' 이벤트 이후에, 상태('상태 설정')로 갱신된다. 'Rx'는 SCL가 수신을 요청함을 의미한다. '상태 설정'은 프레임을 저장하고, 데이터 구조(FB 및 BCL)내에 상태 데이터를 버퍼링함을 의미한다. FB는 프레임 버퍼 세부사항이 교환되어 프레임이 프레임 버퍼에 기록되도록 허용함을 의미한다.
도면의 부분 II는 수신을 예상하지만 프레임이 수신되지 않는 예이다(FlexRay의 동적 세그먼트). 프레임을 손실하는 것을 제외하고는 이전과 동일하다.
FB 세부사항이 판독을 위해서 전달되지만, 기록을 위해서 전달되지는 않고, 프레임 데이터가 다른 방식(PE에서 mem으로가 아닌, mem에서 PE로)으로 이동되지만, 부분 III에서의 송신은 수신에 비교할만하다.
사이클의 끝에서, FlexRay는 제 1 슬롯으로 다시 시작되는 다음 사이클로 시작된다. 이것은 '랩-백(wrap-back)' 화살표로서 도시된다.
본 발명은 Rx/Tx를 스케쥴링/관리하는 3차원 메카니즘에 관한 것이며, 여기서, 1차원은 시간(FlexRay 슬롯)이고, 2차원은 버퍼링이며, 3차원은 데이터 저장이 다. 그러한 방안은 역동성(dynamism)/융통성으로 형성된다. 그것은 송신(Tx) 및 수신(Rx) 지향적이다.
본 발명은 FlexRay와 같은 임의의 시간-트리거링된 프로토콜에 적용가능하다. 상기 시나리오는 여러 가지의 가능한 동시적인 방안들 중 하나를 나타내며, 예로서 고려됨을 주지해야 한다. 도면들은 본 발명의 응용을 제한하는 것으로서 해석되지 않는다. 특히, 본 발명은 FlexRay 환경을 이용하여 설명되었다. 그것은 임의의 시간-트리거링된 프로토콜에 의해 이용될 수 있음을 주지해야 한다.
본 발명은 특정 실시예와 관련하여 기술되었지만, 당업자라면, 많은 대안, 변형 및 수정이 가능함을 명백히 알 것이다. 따라서, 본 명세서에서 개시된 바와 같은 본 발명의 바람직한 실시예는 예시적인 것이며, 제한을 위한 것은 아니다. 이하의 특허 청구 범위에 정의된 바와 같은 본 발명의 사상을 벗어나지 않고서도 다양한 변경이 가능할 수 있다.
참조 부호 리스트
100 통신 시스템 노드
10 호스트 제어기/CPU
12 통신 제어기
12a 슬롯 제어 리스트 어드레싱 유닛
12b 버퍼 제어 리스트 어드레싱 유닛
12c 버퍼 서술자 리스트 어드레싱 유닛
14 전용 로직
16 메모리
18 범용 로직
20 전용 로직
22 슬롯 제어 리스트
24 버퍼 제어 리스트
26 버퍼 서술자 리스트
28 프레임 버퍼
30 어드레스 계산 유닛
32 통신 사이클
Claims (25)
- 통신 시스템 노드(100)에 있어서,호스트 제어기(10)와,호스트 제어기 레벨상의 일반 메모리 유닛(16)과,통신 제어기(12)를 포함하고,상기 통신은 시간-트리거링된 프로토콜(time-triggered protocol)에 근거하되,구성 및 버퍼링 관련 데이터를 위한 적어도 하나의 저장 유닛(18)이 호스트 제어기 레벨상의 상기 통신 제어기(12) 외부에 제공되고, 상기 통신 제어기(12)에는 구성 및 버퍼링 관련 데이터를 위한 저장 유닛이 제공되지 않는 것을 특징으로 하는통신 시스템 노드.
- 제 1 항에 있어서,상기 저장 유닛(18)은 다음과 같은 연결된 데이터 구조, 즉,통신 제어기 시간 슬롯을 그들 각각의 버퍼(28)와 관련시키며, 버퍼 제어 리스트와 연결되는 슬롯 제어 리스트(22)와,버퍼(28)를 그의 버퍼 엔트리와 관련시키며, 버퍼 서술자 리스트와 연결되는 버퍼 제어 리스트(24)와,버퍼 엔트리를 그의 프레임 또는 메시지 데이터와 관련시키며, 프레임 버퍼와 연결되는 버퍼 서술자 리스트(26)와,프레임 또는 메시지 및 상태 데이터를 유지하는 프레임 버퍼(28)를 포함하는 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 또는 제 2 항에 있어서,상기 슬롯 제어 리스트(22)는 통신 제어기의 관련성 및 목적의 정의를 통신 시스템 노드(100)에 제공하고, 그의 버퍼에 대한 논리적 링크를 유지하는 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,상기 버퍼 제어 리스트(24)는 동작의 정의를 제공하고, 버퍼(28)의 상태를 유지하며, 상기 버퍼의 상기 버퍼 엔트리에 대한 상기 논리적 링크를 유지하는 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,상기 버퍼 서술자 리스트(26)는 버퍼 엔트리의 특성의 정의를 제공하고, 상기 프레임 버퍼에 대한 논리적 링크를 유지하는 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,상기 프레임 버퍼(28)는 프레임 또는 메시지 및 상태 데이터를 유지하는 저장 영역을 제공하는 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,제 1 어드레스 계산 유닛(30)이 상기 슬롯 제어 리스트(22)와 상기 버퍼 제어 리스트(24) 사이에 제공되는 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,제 2 어드레스 계산 유닛(30)이 상기 버퍼 제어 리스트(24)와 상기 버퍼 서술자 리스트(26) 사이에 제공되는 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,제 3 어드레스 계산 유닛(30)이 상기 버퍼 서술자 리스트(26)와 상기 프레임 버퍼(28) 사이에 제공되는 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,상기 저장 유닛(18)은 범용 로직인 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,상기 저장 유닛(18)은 시스템 또는 호스트 제어기 레벨상의 상기 일반 메모리 유닛(16) 내부에 위치되는 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 내지 제 11 항 중 어느 한 항에 있어서,상기 통신 제어기(12)는 데이터 검색, 해석, 실행 및 상태 갱신을 위한 전용 로직(20)을 포함하는 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 내지 제 12 항 중 어느 한 항에 있어서,상기 통신 제어기(12)는 상기 슬롯 제어 리스트(22)내의 엔트리를 어드레싱하기 위해 상기 슬롯 제어 리스트(22)에 연결된 슬롯 제어 리스트 어드레싱 유닛(12a)을 구비하는 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 내지 제 13 항 중 어느 한 항에 있어서,상기 통신 제어기(12)는 상기 버퍼 제어 리스트(24)내의 엔트리를 어드레싱하기 위해 버퍼 제어 리스트 어드레싱 유닛(12b)을 구비하고, 상기 버퍼 제어 리스트 어드레싱 유닛(12b)은 상기 슬롯 제어 리스트(22)와 상기 버퍼 제어 리스트(24) 사이의 제 1 어드레스 계산 유닛(30)에 연결되는 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 내지 제 14 항 중 어느 한 항에 있어서,상기 통신 제어기(12)는 상기 버퍼 서술자 리스트(26)내의 엔트리를 어드레싱하기 위해 버퍼 서술자 리스트 어드레싱 유닛(12c)을 구비하고, 상기 버퍼 서술자 리스트 어드레싱 유닛(12c)은 상기 버퍼 제어 리스트(24)와 상기 버퍼 서술자 리스트(26) 사이의 제 2 어드레스 계산 유닛(30)에 연결되는 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 내지 제 15 항 중 어느 한 항에 있어서,상기 통신 제어기(12)는 프레임 버퍼를 어드레싱하기 위해 프레임 버퍼 어드레싱 유닛을 구비하고, 상기 프레임 버퍼 어드레싱 유닛은 상기 버퍼 서술자 리스트(26)와 상기 프레임 버퍼(28) 사이의 제 3 어드레스 계산 유닛에 연결되는 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 내지 제 16 항 중 어느 한 항에 있어서,상기 통신 제어기(12)는 FlexRay 데이터 링크 제어기로서 실현되는 것을 특징으로 하는 통신 시스템 노드.
- 제 1 항 내지 제 17 항 중 어느 한 항에 있어서,상기 시간-트리거링된 프로토콜은 FlexRay 프로토콜인 것을 특징으로 하는 통신 시스템 노드.
- 0 또는 그 이상의 활성 시간 슬롯 및 적어도 하나의 논리 버퍼가 제공되는 통신 시스템내의 저장 유닛(18)에 있어서,연결된 데이터 구조의 세트, 즉,통신 제어기 시간 슬롯을 그들 각각의 버퍼(28)와 관련시키며, 버퍼 제어 리스트와 연결되는 슬롯 제어 리스트(22)와,버퍼 엔트리를 버퍼(28)와 관련시키며, 버퍼 서술자 리스트와 연결되는 버퍼 제어 리스트(24)와,버퍼 엔트리를 그의 프레임 또는 메시지 데이터와 관련시키며, 프레임 버퍼와 연결되는 버퍼 서술자 리스트(26)와,프레임 또는 메시지 및 상태 데이터를 유지하는 프레임 버퍼(28)를 포함하는저장 유닛.
- 제 19 항에 있어서,상기 세트는 제 3 항 내지 제 11 항 중 어느 한 항의 특징을 갖는 것을 특징으로 하는 저장 유닛.
- 시간-트리거링된 통신 프로토콜을 위한 통신 시스템내의 제어 및 버퍼링 관련 데이터에 대한 데이터 저장 방법에 있어서,통신 제어기(12)를 통해 슬롯 제어 리스트(22)의 엔트리를 어드레싱하는 단계와,슬롯 제어 리스트 엔트리를 버퍼 제어 리스트 엔트리와 연결하여, 시간 슬롯을 버퍼와 관련시키고, 상기 통신 제어기(12)를 통해 버퍼 제어 리스트(24)의 이러한 엔트리를 어드레싱하는 단계와,버퍼 제어 리스트 엔트리를 버퍼 서술자 리스트 엔트리와 연결하여, 버퍼를 버퍼 엔트리와 관련시키고, 상기 통신 제어기(12)를 통해 버퍼 서술자 리스트(26)의 이러한 엔트리를 어드레싱하는 단계와,상기 버퍼 서술자 리스트(26)의 엔트리를 프레임 버퍼(28)와 연결하고, 상기 통신 제어기(12)를 통해 이러한 프레임 버퍼(28)를 어드레싱하는 단계를 포함하는데이터 저장 방법.
- 제 21 항에 있어서,상기 슬롯 제어 리스트(22)를 액세스하는 것은 각각의 리스트내의 그의 상대적 위치와 관련된 오프셋을 슬롯 제어 리스트 베이스어드레스(12a)에 추가하는 것을 포함하는 것을 특징으로 하는 데이터 저장 방법.
- 제 21 항에 있어서,상기 슬롯 제어 리스트(22)를 상기 버퍼 제어 리스트(24)에 연결하는 것은 각각의 리스트내의 그의 상대적 위치와 관련된 오프셋을 제 1 어드레스 계산 유 닛(30)내의 버퍼 제어 리스트 베이스어드레스(12b)에 추가하는 것을 포함하는 것을 특징으로 하는 데이터 저장 방법.
- 제 21 항에 있어서,상기 버퍼 제어 리스트(24)를 상기 버퍼 서술자 리스트와 연결하는 것은 각각의 리스트내의 그의 상대적 위치와 관련된 오프셋을 제 2 어드레스 계산 유닛(30)내의 버퍼 서술자 리스트 베이스어드레스(12c)에 추가하는 것을 포함하는 것을 특징으로 하는 데이터 저장 방법.
- 제 21 항에 있어서,상기 버퍼 서술자 리스트(26)와 상기 프레임 버퍼를 연결하는 것은 논리적 어드레스를 제 3 어드레스 계산 유닛(30)내의 시스템 관련 어드레스로 조절하는 것을 포함하는 것을 특징으로 하는 데이터 저장 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05105064 | 2005-06-09 | ||
EP05105064.9 | 2005-06-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080022185A true KR20080022185A (ko) | 2008-03-10 |
Family
ID=37498822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087000606A KR20080022185A (ko) | 2005-06-09 | 2006-06-06 | 통신 시스템 노드, 저장 유닛 및 데이터 저장 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8660131B2 (ko) |
EP (1) | EP1894364B1 (ko) |
JP (1) | JP2008542946A (ko) |
KR (1) | KR20080022185A (ko) |
CN (1) | CN101194477B (ko) |
WO (1) | WO2006131879A2 (ko) |
Families Citing this family (170)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE511138T1 (de) | 2007-11-14 | 2011-06-15 | Nxp Bv | Flexray-system mit effizienter speicherung von anweisungen |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
JP5510286B2 (ja) * | 2010-11-19 | 2014-06-04 | 株式会社デンソー | 通信システム、ノード |
US8761190B2 (en) * | 2011-01-06 | 2014-06-24 | GM Global Technology Operations LLC | Message loss prevention by using sender and receiver buffers in event-triggered distributed embedded real-time systems |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
CN104065588B (zh) * | 2013-03-21 | 2018-10-30 | 南京中兴新软件有限责任公司 | 一种数据包调度和缓存的装置及方法 |
US8954619B1 (en) | 2013-08-07 | 2015-02-10 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Memory module communication control |
US9261098B2 (en) | 2013-08-13 | 2016-02-16 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Fan speed and memory regulator control based on memory margin |
US9003144B1 (en) | 2014-06-04 | 2015-04-07 | Pure Storage, Inc. | Mechanism for persisting messages in a storage system |
US9213485B1 (en) | 2014-06-04 | 2015-12-15 | Pure Storage, Inc. | Storage system architecture |
US11068363B1 (en) | 2014-06-04 | 2021-07-20 | Pure Storage, Inc. | Proactively rebuilding data in a storage cluster |
US10574754B1 (en) | 2014-06-04 | 2020-02-25 | Pure Storage, Inc. | Multi-chassis array with multi-level load balancing |
US9612952B2 (en) | 2014-06-04 | 2017-04-04 | Pure Storage, Inc. | Automatically reconfiguring a storage memory topology |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US11960371B2 (en) | 2014-06-04 | 2024-04-16 | Pure Storage, Inc. | Message persistence in a zoned system |
US11652884B2 (en) | 2014-06-04 | 2023-05-16 | Pure Storage, Inc. | Customized hash algorithms |
US8850108B1 (en) | 2014-06-04 | 2014-09-30 | Pure Storage, Inc. | Storage cluster |
US9836234B2 (en) | 2014-06-04 | 2017-12-05 | Pure Storage, Inc. | Storage cluster |
US9367243B1 (en) | 2014-06-04 | 2016-06-14 | Pure Storage, Inc. | Scalable non-uniform storage sizes |
US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US10114757B2 (en) | 2014-07-02 | 2018-10-30 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US11604598B2 (en) | 2014-07-02 | 2023-03-14 | Pure Storage, Inc. | Storage cluster with zoned drives |
US9021297B1 (en) | 2014-07-02 | 2015-04-28 | Pure Storage, Inc. | Redundant, fault-tolerant, distributed remote procedure call cache in a storage system |
US9836245B2 (en) | 2014-07-02 | 2017-12-05 | Pure Storage, Inc. | Non-volatile RAM and flash memory in a non-volatile solid-state storage |
US11886308B2 (en) | 2014-07-02 | 2024-01-30 | Pure Storage, Inc. | Dual class of service for unified file and object messaging |
US9811677B2 (en) | 2014-07-03 | 2017-11-07 | Pure Storage, Inc. | Secure data replication in a storage grid |
US10853311B1 (en) | 2014-07-03 | 2020-12-01 | Pure Storage, Inc. | Administration through files in a storage system |
US8874836B1 (en) | 2014-07-03 | 2014-10-28 | Pure Storage, Inc. | Scheduling policy for queues in a non-volatile solid-state storage |
US9747229B1 (en) | 2014-07-03 | 2017-08-29 | Pure Storage, Inc. | Self-describing data format for DMA in a non-volatile solid-state storage |
US9082512B1 (en) | 2014-08-07 | 2015-07-14 | Pure Storage, Inc. | Die-level monitoring in a storage cluster |
US10983859B2 (en) | 2014-08-07 | 2021-04-20 | Pure Storage, Inc. | Adjustable error correction based on memory health in a storage unit |
US9483346B2 (en) | 2014-08-07 | 2016-11-01 | Pure Storage, Inc. | Data rebuild on feedback from a queue in a non-volatile solid-state storage |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US9766972B2 (en) | 2014-08-07 | 2017-09-19 | Pure Storage, Inc. | Masking defective bits in a storage array |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US10079711B1 (en) | 2014-08-20 | 2018-09-18 | Pure Storage, Inc. | Virtual file server with preserved MAC address |
KR101593840B1 (ko) * | 2014-12-10 | 2016-02-15 | 현대오트론 주식회사 | 캔 프레임 송신 방법 및 장치 |
DE102015200301A1 (de) * | 2015-01-13 | 2016-07-14 | Robert Bosch Gmbh | Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung |
WO2016130301A1 (en) * | 2015-02-10 | 2016-08-18 | Pure Storage, Inc. | Storage system architecture |
US9948615B1 (en) | 2015-03-16 | 2018-04-17 | Pure Storage, Inc. | Increased storage unit encryption based on loss of trust |
US11294893B2 (en) | 2015-03-20 | 2022-04-05 | Pure Storage, Inc. | Aggregation of queries |
US9940234B2 (en) | 2015-03-26 | 2018-04-10 | Pure Storage, Inc. | Aggressive data deduplication using lazy garbage collection |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US9672125B2 (en) | 2015-04-10 | 2017-06-06 | Pure Storage, Inc. | Ability to partition an array into two or more logical arrays with independently running software |
US10140149B1 (en) | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US9817576B2 (en) | 2015-05-27 | 2017-11-14 | Pure Storage, Inc. | Parallel update to NVRAM |
US10846275B2 (en) | 2015-06-26 | 2020-11-24 | Pure Storage, Inc. | Key management in a storage device |
CN105007340B (zh) * | 2015-06-30 | 2019-06-14 | 苏州汇川技术有限公司 | 支持即插即用的分布式can网络及其节点地址自动分配方法 |
US10983732B2 (en) | 2015-07-13 | 2021-04-20 | Pure Storage, Inc. | Method and system for accessing a file |
US11232079B2 (en) | 2015-07-16 | 2022-01-25 | Pure Storage, Inc. | Efficient distribution of large directories |
US10108355B2 (en) | 2015-09-01 | 2018-10-23 | Pure Storage, Inc. | Erase block state detection |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US9768953B2 (en) | 2015-09-30 | 2017-09-19 | Pure Storage, Inc. | Resharing of a split secret |
US10853266B2 (en) | 2015-09-30 | 2020-12-01 | Pure Storage, Inc. | Hardware assisted data lookup methods |
US10762069B2 (en) | 2015-09-30 | 2020-09-01 | Pure Storage, Inc. | Mechanism for a system where data and metadata are located closely together |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
US10007457B2 (en) | 2015-12-22 | 2018-06-26 | Pure Storage, Inc. | Distributed transactions with token-associated execution |
US20170208609A1 (en) * | 2016-01-20 | 2017-07-20 | Microchip Technology Incorporated | Time Triggered Communication Channel In A Synchronous Network |
US10261690B1 (en) | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
US11231858B2 (en) | 2016-05-19 | 2022-01-25 | Pure Storage, Inc. | Dynamically configuring a storage system to facilitate independent scaling of resources |
US10691567B2 (en) | 2016-06-03 | 2020-06-23 | Pure Storage, Inc. | Dynamically forming a failure domain in a storage system that includes a plurality of blades |
US11706895B2 (en) | 2016-07-19 | 2023-07-18 | Pure Storage, Inc. | Independent scaling of compute resources and storage resources in a storage system |
US11861188B2 (en) | 2016-07-19 | 2024-01-02 | Pure Storage, Inc. | System having modular accelerators |
US10768819B2 (en) | 2016-07-22 | 2020-09-08 | Pure Storage, Inc. | Hardware support for non-disruptive upgrades |
US11449232B1 (en) | 2016-07-22 | 2022-09-20 | Pure Storage, Inc. | Optimal scheduling of flash operations |
US9672905B1 (en) | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
US10216420B1 (en) | 2016-07-24 | 2019-02-26 | Pure Storage, Inc. | Calibration of flash channels in SSD |
US11080155B2 (en) | 2016-07-24 | 2021-08-03 | Pure Storage, Inc. | Identifying error types among flash memory |
US11604690B2 (en) | 2016-07-24 | 2023-03-14 | Pure Storage, Inc. | Online failure span determination |
US10366004B2 (en) | 2016-07-26 | 2019-07-30 | Pure Storage, Inc. | Storage system with elective garbage collection to reduce flash contention |
US11886334B2 (en) | 2016-07-26 | 2024-01-30 | Pure Storage, Inc. | Optimizing spool and memory space management |
US11734169B2 (en) | 2016-07-26 | 2023-08-22 | Pure Storage, Inc. | Optimizing spool and memory space management |
US11797212B2 (en) | 2016-07-26 | 2023-10-24 | Pure Storage, Inc. | Data migration for zoned drives |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US11422719B2 (en) | 2016-09-15 | 2022-08-23 | Pure Storage, Inc. | Distributed file deletion and truncation |
US10613974B2 (en) | 2016-10-04 | 2020-04-07 | Pure Storage, Inc. | Peer-to-peer non-volatile random-access memory |
US12039165B2 (en) | 2016-10-04 | 2024-07-16 | Pure Storage, Inc. | Utilizing allocation shares to improve parallelism in a zoned drive storage system |
US9747039B1 (en) | 2016-10-04 | 2017-08-29 | Pure Storage, Inc. | Reservations over multiple paths on NVMe over fabrics |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US11955187B2 (en) | 2017-01-13 | 2024-04-09 | Pure Storage, Inc. | Refresh of differing capacity NAND |
US9747158B1 (en) | 2017-01-13 | 2017-08-29 | Pure Storage, Inc. | Intelligent refresh of 3D NAND |
US10979223B2 (en) | 2017-01-31 | 2021-04-13 | Pure Storage, Inc. | Separate encryption for a solid-state drive |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US11016667B1 (en) | 2017-04-05 | 2021-05-25 | Pure Storage, Inc. | Efficient mapping for LUNs in storage memory with holes in address space |
US10944671B2 (en) | 2017-04-27 | 2021-03-09 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US10516645B1 (en) | 2017-04-27 | 2019-12-24 | Pure Storage, Inc. | Address resolution broadcasting in a networked device |
US10141050B1 (en) | 2017-04-27 | 2018-11-27 | Pure Storage, Inc. | Page writes for triple level cell flash memory |
US11467913B1 (en) | 2017-06-07 | 2022-10-11 | Pure Storage, Inc. | Snapshots with crash consistency in a storage system |
US11782625B2 (en) | 2017-06-11 | 2023-10-10 | Pure Storage, Inc. | Heterogeneity supportive resiliency groups |
US11138103B1 (en) | 2017-06-11 | 2021-10-05 | Pure Storage, Inc. | Resiliency groups |
US11947814B2 (en) | 2017-06-11 | 2024-04-02 | Pure Storage, Inc. | Optimizing resiliency group formation stability |
US10425473B1 (en) | 2017-07-03 | 2019-09-24 | Pure Storage, Inc. | Stateful connection reset in a storage cluster with a stateless load balancer |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US10877827B2 (en) | 2017-09-15 | 2020-12-29 | Pure Storage, Inc. | Read voltage optimization |
US10210926B1 (en) | 2017-09-15 | 2019-02-19 | Pure Storage, Inc. | Tracking of optimum read voltage thresholds in nand flash devices |
US11520514B2 (en) | 2018-09-06 | 2022-12-06 | Pure Storage, Inc. | Optimized relocation of data based on data characteristics |
US11354058B2 (en) | 2018-09-06 | 2022-06-07 | Pure Storage, Inc. | Local relocation of data stored at a storage device of a storage system |
US10545687B1 (en) | 2017-10-31 | 2020-01-28 | Pure Storage, Inc. | Data rebuild when changing erase block sizes during drive replacement |
US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
US10496330B1 (en) | 2017-10-31 | 2019-12-03 | Pure Storage, Inc. | Using flash storage devices with different sized erase blocks |
US12067274B2 (en) | 2018-09-06 | 2024-08-20 | Pure Storage, Inc. | Writing segments and erase blocks based on ordering |
US11024390B1 (en) | 2017-10-31 | 2021-06-01 | Pure Storage, Inc. | Overlapping RAID groups |
US12032848B2 (en) | 2021-06-21 | 2024-07-09 | Pure Storage, Inc. | Intelligent block allocation in a heterogeneous storage system |
US10515701B1 (en) | 2017-10-31 | 2019-12-24 | Pure Storage, Inc. | Overlapping raid groups |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10990566B1 (en) | 2017-11-20 | 2021-04-27 | Pure Storage, Inc. | Persistent file locks in a storage system |
US10719265B1 (en) | 2017-12-08 | 2020-07-21 | Pure Storage, Inc. | Centralized, quorum-aware handling of device reservation requests in a storage system |
US10929053B2 (en) | 2017-12-08 | 2021-02-23 | Pure Storage, Inc. | Safe destructive actions on drives |
US10929031B2 (en) | 2017-12-21 | 2021-02-23 | Pure Storage, Inc. | Maximizing data reduction in a partially encrypted volume |
US10733053B1 (en) | 2018-01-31 | 2020-08-04 | Pure Storage, Inc. | Disaster recovery for high-bandwidth distributed archives |
US10976948B1 (en) | 2018-01-31 | 2021-04-13 | Pure Storage, Inc. | Cluster expansion mechanism |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11494109B1 (en) | 2018-02-22 | 2022-11-08 | Pure Storage, Inc. | Erase block trimming for heterogenous flash memory storage devices |
DE102018203680A1 (de) * | 2018-03-12 | 2019-09-12 | Robert Bosch Gmbh | Teilnehmerstation für ein serielles Bussystem und Verfahren zur Datenübertragung in einem seriellen Bussystem |
US12001688B2 (en) | 2019-04-29 | 2024-06-04 | Pure Storage, Inc. | Utilizing data views to optimize secure data access in a storage system |
US11995336B2 (en) | 2018-04-25 | 2024-05-28 | Pure Storage, Inc. | Bucket views |
US10853146B1 (en) | 2018-04-27 | 2020-12-01 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US12079494B2 (en) | 2018-04-27 | 2024-09-03 | Pure Storage, Inc. | Optimizing storage system upgrades to preserve resources |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US10931450B1 (en) | 2018-04-27 | 2021-02-23 | Pure Storage, Inc. | Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers |
US11436023B2 (en) | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US11438279B2 (en) | 2018-07-23 | 2022-09-06 | Pure Storage, Inc. | Non-disruptive conversion of a clustered service from single-chassis to multi-chassis |
US11868309B2 (en) | 2018-09-06 | 2024-01-09 | Pure Storage, Inc. | Queue management for data relocation |
US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
US10454498B1 (en) | 2018-10-18 | 2019-10-22 | Pure Storage, Inc. | Fully pipelined hardware engine design for fast and efficient inline lossless data compression |
US10976947B2 (en) | 2018-10-26 | 2021-04-13 | Pure Storage, Inc. | Dynamically selecting segment heights in a heterogeneous RAID group |
EP3694166B1 (en) * | 2019-02-06 | 2022-09-21 | Hitachi Energy Switzerland AG | Cyclic time-slotted operation in a wireless industrial network |
US11334254B2 (en) | 2019-03-29 | 2022-05-17 | Pure Storage, Inc. | Reliability based flash page sizing |
US11775189B2 (en) | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US12087382B2 (en) | 2019-04-11 | 2024-09-10 | Pure Storage, Inc. | Adaptive threshold for bad flash memory blocks |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US11487665B2 (en) | 2019-06-05 | 2022-11-01 | Pure Storage, Inc. | Tiered caching of data in a storage system |
US11714572B2 (en) | 2019-06-19 | 2023-08-01 | Pure Storage, Inc. | Optimized data resiliency in a modular storage system |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US11893126B2 (en) | 2019-10-14 | 2024-02-06 | Pure Storage, Inc. | Data deletion for a multi-tenant environment |
US11704192B2 (en) | 2019-12-12 | 2023-07-18 | Pure Storage, Inc. | Budgeting open blocks based on power loss protection |
US11847331B2 (en) | 2019-12-12 | 2023-12-19 | Pure Storage, Inc. | Budgeting open blocks of a storage unit based on power loss prevention |
US12001684B2 (en) | 2019-12-12 | 2024-06-04 | Pure Storage, Inc. | Optimizing dynamic power loss protection adjustment in a storage system |
US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
US11188432B2 (en) | 2020-02-28 | 2021-11-30 | Pure Storage, Inc. | Data resiliency by partially deallocating data blocks of a storage device |
US11507297B2 (en) | 2020-04-15 | 2022-11-22 | Pure Storage, Inc. | Efficient management of optimal read levels for flash storage systems |
US11256587B2 (en) | 2020-04-17 | 2022-02-22 | Pure Storage, Inc. | Intelligent access to a storage device |
US12056365B2 (en) | 2020-04-24 | 2024-08-06 | Pure Storage, Inc. | Resiliency for a storage system |
US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
US11416338B2 (en) | 2020-04-24 | 2022-08-16 | Pure Storage, Inc. | Resiliency scheme to enhance storage performance |
US11768763B2 (en) | 2020-07-08 | 2023-09-26 | Pure Storage, Inc. | Flash secure erase |
CN111913762B (zh) * | 2020-08-20 | 2024-04-19 | 北京机电工程研究所 | 一种预留运行内存空间的dsp动态加载方法 |
US11513974B2 (en) | 2020-09-08 | 2022-11-29 | Pure Storage, Inc. | Using nonce to control erasure of data blocks of a multi-controller storage system |
US11681448B2 (en) | 2020-09-08 | 2023-06-20 | Pure Storage, Inc. | Multiple device IDs in a multi-fabric module storage system |
US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
US12067282B2 (en) | 2020-12-31 | 2024-08-20 | Pure Storage, Inc. | Write path selection |
US12093545B2 (en) | 2020-12-31 | 2024-09-17 | Pure Storage, Inc. | Storage system with selectable write modes |
US11614880B2 (en) | 2020-12-31 | 2023-03-28 | Pure Storage, Inc. | Storage system with selectable write paths |
US11847324B2 (en) | 2020-12-31 | 2023-12-19 | Pure Storage, Inc. | Optimizing resiliency groups for data regions of a storage system |
US12061814B2 (en) | 2021-01-25 | 2024-08-13 | Pure Storage, Inc. | Using data similarity to select segments for garbage collection |
US11630593B2 (en) | 2021-03-12 | 2023-04-18 | Pure Storage, Inc. | Inline flash memory qualification in a storage system |
US12099742B2 (en) | 2021-03-15 | 2024-09-24 | Pure Storage, Inc. | Utilizing programming page size granularity to optimize data segment storage in a storage system |
US11507597B2 (en) | 2021-03-31 | 2022-11-22 | Pure Storage, Inc. | Data replication to meet a recovery point objective |
US11832410B2 (en) | 2021-09-14 | 2023-11-28 | Pure Storage, Inc. | Mechanical energy absorbing bracket apparatus |
CN114153775B (zh) * | 2021-12-10 | 2024-02-09 | 中国兵器工业集团第二一四研究所苏州研发中心 | 一种基于AXI总线的FlexRay控制器 |
US11994723B2 (en) | 2021-12-30 | 2024-05-28 | Pure Storage, Inc. | Ribbon cable alignment apparatus |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE461310B (sv) | 1988-07-12 | 1990-01-29 | Ellemtel Utvecklings Ab | Saett och anordning foer att i en digital tidsvaeljare genomkoppla en bredbandsfoerbindelse |
SE517973C2 (sv) | 1997-01-27 | 2002-08-13 | Ericsson Telefon Ab L M | Kontrollmetod vid växelenhet samt anordning verkande enligt metoden |
CN1346557A (zh) | 1998-09-24 | 2002-04-24 | (美国)捷迅公司 | 用于无线通信的时隙操作的管理 |
US6606352B2 (en) * | 1999-01-15 | 2003-08-12 | Broadcom Corporation | Method and apparatus for converting between byte lengths and burdened burst lengths in a high speed modem |
EP1085719A2 (en) * | 1999-09-15 | 2001-03-21 | Koninklijke Philips Electronics N.V. | Use of buffer-size mask in conjunction with address pointer to detect buffer-full and buffer-rollover conditions in a can device that employs reconfigurable message buffers |
JP2004519059A (ja) * | 2001-03-15 | 2004-06-24 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 分配された安全上重要なシステムのコンポーネントの駆動方法 |
US20030065856A1 (en) * | 2001-10-03 | 2003-04-03 | Mellanox Technologies Ltd. | Network adapter with multiple event queues |
DE10215719A1 (de) * | 2002-04-10 | 2003-10-30 | Philips Intellectual Property | Datenspeicher |
ATE306163T1 (de) * | 2002-04-16 | 2005-10-15 | Bosch Gmbh Robert | Verfahren zur überwachung einer zugriffsablaufsteuerung für ein kommunikationsmedium einer kommunikationssteuerung eines kommunikationssystems |
EP1355456A1 (en) | 2002-04-16 | 2003-10-22 | Robert Bosch Gmbh | FlexRay communication protocol |
JP2007501583A (ja) | 2003-05-21 | 2007-01-25 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 通信プロトコルに関するメッセージメモリ及び方法 |
DE10329179A1 (de) | 2003-06-30 | 2005-03-17 | Volkswagen Ag | Anordnung und Verfahren zur Verwaltung eines Speichers |
US7502334B2 (en) * | 2003-11-19 | 2009-03-10 | Honeywell International Inc. | Directional integrity enforcement in a bi-directional braided ring network |
JP2007517427A (ja) * | 2003-11-19 | 2007-06-28 | ハネウェル・インターナショナル・インコーポレーテッド | メービウス時間トリガ型通信 |
US7733841B2 (en) * | 2005-05-10 | 2010-06-08 | Continental Automotive Systems, Inc. | Vehicle network with time slotted access and method |
-
2006
- 2006-06-06 US US11/916,682 patent/US8660131B2/en active Active
- 2006-06-06 EP EP06756062.3A patent/EP1894364B1/en active Active
- 2006-06-06 CN CN2006800203599A patent/CN101194477B/zh active Active
- 2006-06-06 WO PCT/IB2006/051792 patent/WO2006131879A2/en active Application Filing
- 2006-06-06 KR KR1020087000606A patent/KR20080022185A/ko not_active Application Discontinuation
- 2006-06-06 JP JP2008515356A patent/JP2008542946A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20100220735A1 (en) | 2010-09-02 |
EP1894364B1 (en) | 2020-01-01 |
WO2006131879A2 (en) | 2006-12-14 |
CN101194477A (zh) | 2008-06-04 |
JP2008542946A (ja) | 2008-11-27 |
US8660131B2 (en) | 2014-02-25 |
EP1894364A2 (en) | 2008-03-05 |
WO2006131879A3 (en) | 2007-08-02 |
CN101194477B (zh) | 2012-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8660131B2 (en) | Storage unit for communication system node, method for data storage and communication system node | |
KR101016145B1 (ko) | 통신 컴포넌트 | |
RU2401452C2 (ru) | Способ передачи данных в сообщениях по линии связи системы связи, а также коммуникационный модуль, абонентское устройство системы связи и система связи для осуществления этого способа | |
KR101028898B1 (ko) | 플렉스레이 통신 장치 | |
JP4571671B2 (ja) | 通信モジュールのメッセージメモリのデータへアクセスする方法および装置 | |
EP2038744B1 (en) | Method and system of grouping interrupts from a time-dependent data storage means | |
CN1993687B (zh) | 用于控制数据访问的消息管理器和方法以及通信组件 | |
JP4903801B2 (ja) | FlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェース、およびFlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェースを経由するメッセージの伝送方法 | |
CN101449253B (zh) | 多处理器网关 | |
CN101282860A (zh) | 用于把具有微控制器的FlexRay用户通过FlexRay通信控制装置连接到FlexRay通信连接上的方法、以及用于实现该方法的FlexRay通信控制装置、FlexRay用户和FlexRay通信系统 | |
US20020174165A1 (en) | Cluster system, computer and program | |
US8019961B2 (en) | Method for storing messages in a message memory and message memory | |
US7984210B2 (en) | Method for transmitting a datum from a time-dependent data storage means | |
US20090292856A1 (en) | Interserver communication mechanism and computer system | |
EP2018615B1 (en) | Data communication unit, integrated circuit and method for buffering data | |
Lawrenz | CAN Basic Architectures | |
Cena et al. | Protocols and Services in Controller Area Networks | |
WO2008003353A1 (en) | Improvements in or relating to buffer management | |
Williams et al. | ESCAN-An Open Source, High Bandwidth, Event Scheduled Controller Area Network | |
Ravichandran et al. | Design and development of can and flex ray protocols for real-time systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |