CN101194477A - 通信系统节点的存储单元、数据存储方法及通信系统节点 - Google Patents
通信系统节点的存储单元、数据存储方法及通信系统节点 Download PDFInfo
- Publication number
- CN101194477A CN101194477A CNA2006800203599A CN200680020359A CN101194477A CN 101194477 A CN101194477 A CN 101194477A CN A2006800203599 A CNA2006800203599 A CN A2006800203599A CN 200680020359 A CN200680020359 A CN 200680020359A CN 101194477 A CN101194477 A CN 101194477A
- Authority
- CN
- China
- Prior art keywords
- buffer
- tabulation
- data
- time slot
- linked
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
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
技术领域
本发明涉及用于通信系统节点的数据存储单元、数据存储的方法以及通信系统节点。更具体地,本发明涉及将缓冲数据和控制数据存储在位于系统级或主机控制器级的通信控制器外部的单元中,其中在节点上运行时间触发的协议。
背景技术
近年来,汽车工业见证了其产品中所采用的电子系统的数量的显著增长。已经针对各种电子控制单元(ECU)的操作开发了不同的通信系统。通信系统通常包括多个互相通信的单元或节点。通常经由总线来完成通信,总线通过同一组线逻辑地连接数个节点。每个节点包括主机控制器、通信控制器以及生成数据的物理设备。通信控制器传输由主机控制器接收的数据,并将所接收的数据提供给主机控制器。
已知在本领域中有不同的总线系统。LIN-Bus(本地互联网络)是在当前的汽车网络体系结构中使用的总线系统。该总线系统被设计用于汽车中的机电一体化应用,是一种较小且相当慢的网络系统。所集成的构件是智能传感器设备或致动器。建立一个专用的节点作为LIN主节点,所有其它附加的节点是LIN从节点。该拓扑是固定的并且以后不能被改变。
更快的网络是一种最初在二十世纪80年代开发的用于连接电子控制单元的多播共享串行总线标准,即控制器局域网(CAN)。CAN被特定设计为在有噪声的环境中是健壮的,并且是一种使得任何设备能够与任何其它设备或网络通信和工作而不在总线上产生极大压力的网络。例如,在汽车应用中,CAN用于空调控制单元、座椅致动器、集中式门禁系统或加速防滑控制。除了CAN网络之外,许多交通工具针对较小的子网使用附加的LIN总线。
但是,结合多个传感器、致动器以及电子控制单元的先进控制系统的引入开始对现有通信协议当前所未专注于的通信技术产生需求。对于对可靠性和可生存性有严格要求的机械和水力制动以及转向系统的线更换而言,分布式容错计算机系统是强制性的。此外,安全相关的应用需要实时的数据管理。在所有情况下,必须在预定义的时间量内传输高优先级消息。由于对增长的功能和车载诊断的需求也增长了,带宽和系统扩展的灵活性也是关键的特性。先进的控制系统已经开始对现有的CAN通信总线产生极限需求。
已经提出了FlexRay系统,以满足对具有确定的和容差的通信以及达到10Mbit/s的高数据速率的总线系统的需求。关于网络配置的变化是高度灵活的。与当前的事件触发的通信协议(例如CAN)相反,FlexRay将时间触发的系统与事件触发的系统相结合。FlexRay系统的核心是FlexRay通信协议。该协议通过将可扩展的静态的消息传输与动态的消息传输相结合,包括了常见的同步和异步协议的优点,提供了灵活性和确定性。该协议支持利用全局时间基准的容错时钟同步、无冲突总线访问、利用标识符的面向消息的寻址、利用对单信道或双信道的支持的可扩展系统容错。
FlexRay控制器针对其每个信道包括发送机和接收机单元,其中还可以将每个发送机和接收机单元分离为两个独立的单元,即定时单元和用于与主机和协议状态机连接的控制器主机接口(CHI)。将提取的数据或用于传输的数据存储在缓冲器中。FlexRay体系结构级别包括主机级别、控制器主机接口级别、协议引擎级别、信道接口级别和具有可能的信道A和B的拓扑级别。通过控制器主机接口传输的数据包括状态数据、控制数据(例如外部时钟同步)、消息数据或与网络或节点配置相关的配置数据。
EP 1355456公开了FlexRay协议。提供了一种具有至少一个耦合到通信线路的节点以及用于通信的装置的网络系统,它们能够基于所述通信产生通信周期。
通信周期是FlexRay中的介质接入方案的基本要素。这是通过定时等级来定义的。如图1所示,定时等级包括四个定时等级级别。最高的级别即通信周期级别定义了通信周期。通信周期包含静态区段、动态区段、符号窗口和网络空闲时间(NIT)。下一个较低的级别即仲裁网格级别包含形成FlexRay介质仲裁的骨架的仲裁网格。在静态区段中仲裁网格包括被称为静态时隙的连续时间间隔,在动态区段中仲裁网格包括被称为迷你时隙的连续时间间隔。
WO 2005/002145公开了一种用于管理网络中的网络节点的通信控制器和主机处理器所访问的存储器的装置及方法。优选地,该装置及方法应用于FlexRay总线系统。为每个数据消息分配标识符,并在网络节点的存储器中提供与相关的标识符的数量对应的若干个缓冲器。将控制数据存储在已经被分配给标识符的缓冲器中的至少一些缓冲器中。
WO 2004/105328描述了一种用于通信协议和方法的消息存储器,可应用于CAN或FlexRay系统。使用虚拟存储器表示和被划分为特定数量的区段的物理存储器作为消息存储器,该存储器允许根据消息对象的数量及其数据容量针对应用中的特定用途的优化。
现代通信系统(例如FlexRay)被特别设计以获得容错和灵活性。现有解决方案的缺点是通过通信控制器中的专用逻辑来处理配置数据和缓冲器数据,从而必须通过通信控制器访问从端口来处理对该数据的任何访问。这种控制器中的专用逻辑限制了网络的配置空间并且定义了缓冲器的最大量,从而给通信系统的灵活性设置了上限。
发明内容
本发明的一个目的是提供一种用于通信系统节点的数据存储单元,一种用于数据存储的方法、以及一种提高基于时间触发的协议的通信系统的灵活性的通信系统节点。
本发明的另一目的是提供一种用于通信系统节点的数据存储单元、一种用于数据存储的方法、以及一种用于降低基于时间触发的协议的通信系统的制造成本的通信系统节点。
根据本发明的一个方面,为了达到上述目的,提供了一种通信系统节点,包括主机控制器、主机控制器级别的至少一个通用存储器单元、以及通信控制器,其中,通信基于时间触发的协议,在主机控制器级别上在通信控制器外部设有至少一个用于与配置和缓冲相关的数据的存储单元,并且该通信控制器并不具有用于与配置和缓冲相关的数据的存储单元。
通过将与FlexRay数据缓冲相关的数据(包括格式、行为、以及周期/时隙耦合)置于通信控制器(CC)外部,由于将与数据缓冲相关的限制(例如缓冲器大小和缓冲器数量)从CC内部的级别转移为CC外部的系统级别,因此其变得更加灵活、更可扩展和更可重新配置。
存储单元包括以下被链接的数据结构:
-用于将通信控制器时隙与其对应的缓冲器相关联的时隙控制列表,被链接到
-用于将缓冲器与其缓冲器条目相关联的缓冲器控制列表,被链接到
-用于将缓冲器条目与其帧或消息数据相关联的缓冲器描述符列表,被链接到
-用于保持帧或消息以及状态数据的帧缓冲器。
时隙控制列表向通信系统节点提供了通信控制器时隙的相关性和用途的定义,并保持到其缓冲器的逻辑链接。
缓冲器控制列表提供了行为的定义、保持缓冲器的状态、并保持到缓存器的缓冲器条目的逻辑链接。
缓冲器描述符列表提供了缓冲器条目的特征的定义,并保持到帧缓冲器的逻辑链接。
帧缓冲器提供了保持帧或消息以及状态数据的存储区域。
经由将适当的偏移与基地址相加的计算单元将所述时隙控制列表与所述缓冲器控制列表相链接。经由第二“将适当的偏移与基地址相加”的地址计算单元将所述缓冲器控制列表与所述缓冲器描述符列表相链接。经由规则的地址(regular address)将所述缓冲器描述符列表与所述帧缓冲器相链接。
在优选的实施例中,存储单元是位于系统或主机控制器级别的所述通用存储器单元内部并位于通信控制器外部的通用逻辑。
通信控制器包括用于数据获取、解释、执行和状态更新的专用逻辑,并具有与时隙控制列表相链接的用于对时隙控制列表中的条目进行寻址的时隙控制列表寻址单元、对缓冲器控制列表中的条目进行寻址的缓冲器控制列表寻址单元(其中缓冲器控制列表寻址单元与时隙控制列表和缓冲器控制列表之间的所述地址计算单元相链接)、以及对所述缓冲器描述符列表中的条目进行寻址的缓冲器描述符列表寻址单元(其中缓冲器描述符列表寻址单元与缓冲器控制列表和缓冲器描述符列表之间的所述地址计算相链接)。
在优选的实施例中,将通信控制器实现为FlexRay数据链路控制器,并且所述时间触发的协议是FlexRay协议。
因此,在通信系统中提供了存储单元,其中该系统具有零个或多个活跃时隙以及至少一个适用于发送(Tx)或接收(Rx)的逻辑缓冲器,该存储单元包括一组被链接的数据结构:
-用于将通信控制器时隙与其相应的缓冲器关联的时隙控制列表,被链接到
-用于将缓冲器条目与缓冲器相关联的缓冲器控制列表,被链接到
-用于将缓冲器条目与其帧或消息数据相关联的缓冲器描述符列表,被链接到
-用于保持帧或消息以及状态数据的帧缓冲器。
缓冲器用于保持数据并且基本上可具有3个状态:空、满和介于中间。例如,由于缓冲器具有适当的BCL和BDL数据但并不与帧缓冲器相链接,因此可以是空的缓冲器。这是有效的配置并且可能应归因于本发明的灵活性。
因此,一种用于时间触发的通信协议的通信系统中的数据存储的方法,包括以下步骤:
-通过通信控制器对时隙控制列表的条目进行寻址;
-将时隙控制列表条目与缓冲器控制列表条目相链接,以将时隙与缓冲器相关联,并通过所述通信控制器对所述缓冲器控制列表条目进行寻址;
-将缓冲器控制列表条目与缓冲器描述符列表条目相链接,以将缓冲器与缓冲器条目相关联,并通过所述通信控制器对所述缓冲器描述符列表条目进行寻址;
-将所述缓冲器描述符列表的条目与帧缓冲器相链接,并通过所述通信控制器对该帧缓冲器进行寻址;
注意,这些步骤中的每个步骤是有条件的,也就是说,只有在SCL条目适用于读取时(也即被先前的SCL条目标识为适用于读取时),才读取该SCL条目。如果SCL条目不需要操作,则不读取BCL,等等。由于可以有意地避免元件被读取并由此影响通信控制器的行为,这也增加了本发明的灵活性。
本发明的优点是数据链路控制器/通信控制器外部的缓冲将定义其配置空间(例如所支持的行为、缓冲器的最大数量)的问题从DLC/CC转移为系统级别。通过这种方式,由系统级别的可用存储器的量(而非DLC/CC本身内部的存储器量)而造成了限制。
通过系统级别的通用存储器中的数据来替换DLC/CC实施方式中的专用逻辑,降低了系统的成本。这是更灵活、更可重新配置和更可扩展的。
根据以下对附图中所示出的本发明的优选实施例的更具体的描述,本发明的前述和其它的目的、特征及优点将变得显而易见。
附图说明
现在将通过示例的方式参照附图来描述本发明,其中:
图1是FlexRay通信周期的示意性图示;
图2示出了当前最先进的通信系统节点的示意性图示;
图3示出了根据本发明的通信系统节点的示意性图示;
图4示出了根据本发明的通信控制器以及数据存储单元的示意性图示;
图5示出了使用根据本发明的存储单元的FlexRay环境中的典型数据流。
具体实施方式
通信系统通常包括许多交换消息的节点。这些节点中的每个节点包括主机控制器、通信控制器以及生产数据的物理单元。主机运行应用软件、估计接收的数据以及生成将要被发送至通信控制器的数据。通信控制器与通信控制器可以在其中发送和接收消息的所谓的物理层的一个或两个信道相连,并具有用于与主机通信的控制器主机接口(CHI)。
本发明涉及时间触发的网络协议(例如FlexRay),其中在预定义的时隙内发起任何网络活动。该系统在特定控制算法的帮助下对电子控制单元的本地时间进行调整。这确保了集群中的个体节点的所有本地时钟与全局时钟同步运行。为了允许确定的行为,FlexRay的传输方案由周期组成。将每个通信周期细分为具有可配置的长度的静态区段和动态区段。在静态区段中为每个网络节点分配特定的时间窗口或时隙。在相应时隙的固定的时间点传输节点的消息。所分配的时隙的所定义的发送时间保证了数据的确定的传输。在网络配置期间定义了每个静态区段和动态区段的长度。帧包括在一个信道上的一个时隙中传输的以指定方式打包的给定的数据集合。注意,FlexRay明确地定义了如何处理时隙中的多个帧的发送(其被默认为不是差错)。消息包括在帧中传递的所有应用数据。可以将数个消息一起打包以组成一个帧。
在本发明的优选的FlexRay实施例中,每个帧分成三个区段:头部、载荷和尾部。例如,头部包括标识帧的帧ID。载荷具有帧所传输的数据。尾部用于检测差错。
在控制器与主机之间传送不同类型的数据,例如状态数据、控制数据、消息数据或配置数据。
将状态数据存储在均在存储器中存在的帧缓冲器和缓冲器控制列表中。将控制数据存储在(均在存储器中的)SCL、BCL、BDL以及帧缓冲器中,其中SCL、BCL、BDL以及帧缓冲器可以由CC通过CC内部的有限的控制数据集合(基地址和列表长度)来访问。将消息数据存储在帧缓冲器中或者用于作为并不导致对保持数据的帧缓冲器的访问的数据结构建立的结果而产生的发送。将访问SCL、BCL和BDL所需要的配置数据(基地址和列表长度)存储在CC内部,将其余的配置数据存储在数据结构内部。因此存储器区域保存了包括消息区域的大多数数据,也即SCL、BCL、BDL和FB。
消息区域包含存储器区域,将要被发送/接收的帧与每个帧的状态信息一起存储在存储器区域中。在每个通信控制器的配置数据中确定对该存储器区域中的数据的访问。根据SCL、BCL、BDL和FB来定义该存储器中的数据的布局,但是不必具有SCL、BCL、BDL和FB的全部,例如仅仅具有SCL是有效的配置并且导致遵从FlexRay的CC行为。
图1示出了FlexRay通信周期的示意性图示。通信周期是FlexRay中的媒体接入方案的基本要素。它是通过包括四个定时等级级别的定时等级来定义的。最高级别即通信周期级别定义了通信周期。通信周期级别包括静态区段、动态区段、符号窗口和网络空闲时间(NIT)。在静态区段中使用静态时分多址方案以对传输进行仲裁。在动态区段中使用基于动态的迷你时隙的方案以对传输进行仲裁。下一个较低的级别即仲裁网格级别包含形成FlexRay介质仲裁的骨架的仲裁网格。在静态区段中,仲裁网格包括被称为静态时隙的连续时间间隔,在动态区段中,仲裁网格包括被称为迷你时隙的连续时间间隔。
图2示出了当前最先进的通信总线系统节点。该系统包括主机控制器10、通信控制器12(这里是FlexRay控制器)、主机控制器级别的通用存储器单元16以及用于连接这些部件的互连线路。
应当注意的是,任何主机控制器都需要用于(临时地)保持其已从CC读取的或者想要写入CC的数据的存储器单元。该存储器的存在并不是由于CC的存在,而是用于使得主机控制器能够工作。
主机控制器10被实现为主控制器并且控制通信控制器12、对去往通信控制器12的发送数据和控制和来自通信控制器12的接收数据和控制进行交换、以及对去往存储器单元16的发送数据和来自存储器单元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/CC12本身内部的存储器数量)而产生限制。这允许有效和高效的软件/硬件划分。也由在系统级别可用的存储器所提供的访问(而非DLC/CC本身提供的访问)而产生访问限制。这也允许有效和高效的软件/硬件划分。
该原理使用存储器16/18中的数据,用于对还指定了所需要的数据缓冲行为的数据结构进行定义,而不为此使用专用逻辑14。作为结果,与FlexRay协议规范版本2.0当前所需要的数据缓冲行为相比,可以支持更多种数据缓冲行为。在FlexRay上下文中的一个示例是用于发送、共享单个缓冲器的多个发送或接收时隙、以及不需要上锁/解锁机制的缓冲器访问和更新的能力的排队缓冲。
由于将DLC/CC12内部的专用逻辑14替换为DLC/CC外部的(也即系统级别的)通用逻辑18,而系统级别的通用逻辑18比DLC/CC12内部的专用逻辑14便宜,因此可以减少DLC/CC12实现的硅成本。
本发明的实质优点如下:
通过将DLC/CC实现方式内部的专用逻辑14替换为系统级别的通用存储器18中的数据而降低了成本。当DLC/CC12不使用该通用逻辑18时,其它功能可以共享该通用逻辑18。
更灵活:数据缓冲的配置空间现在将被限制为在系统级别可用的存储器16的量,而非DLC/CC12内部的逻辑14的量。
更可扩展:由于通过存储器16中的数据来定义数据缓冲行为,从而不需要修改DLC/CC12本身就允许更多种类。
提高的重新配置能力:由于通过存储器中的数据而非专用逻辑14来掌握DLC/CC12的数据缓冲行为,因此现在通过软件可以容易地对该行为进行调整。
优选地,将存储单元放入系统级别的通用存储器中。然而,它还可包括系统级别或主机控制器级别的一个或多个分离的存储器。
图4示出了用于系统级别的缓冲的通信控制器12和逻辑16的详细图示。通过存储器中的一组被链接的数据结构定义了根据本发明的数据存储方法:
-存储器中的控制DLC/CC12的发送和接收行为的数据结构;
-存储器中的保持实际发送和接收数据的数据结构;
-存储器中的保持发送和接收状态信息的数据结构;
-系统的读访问与DLC/CC12的写访问的明确的分离,以及系统的写访问与DLC/CC12的读访问的明确的分离;
存储单元18使用以下数据结构:
-SCL。时隙控制列表22:用于定义FlexRay时隙的行为以及将FlexRay时隙与其缓冲器28相链接;
-BCL。缓冲器控制列表24:用于定义缓冲器的行为以及将缓冲器与其缓冲器条目相链接;
-BDL。缓冲器描述符列表26:用于定义缓冲器条目的行为以及将缓冲器条目与其数据区域(以及/或者FlexRay帧)相链接;
-FB。帧缓冲器28:用于定义帧(消息)和状态数据的行为以及保持帧(消息)和状态数据。
更精确地,数据结构是用于表征通信控制器时隙以及将通信控制器时隙与其对应的缓冲器28相关联的时隙控制列表22;该时隙控制列表22与缓冲器控制列表24相链接,以表征缓冲器28以及将该缓冲器28与其缓冲器条目相关联;该缓冲器控制列表24与缓冲器描述符列表26相链接,以表征缓冲器条目以及将该缓冲器条目与其帧和消息数据相关联;该缓冲器描述符列表26与帧缓冲器28相链接,以表征和保持帧或消息以及状态数据。
这些数据结构的用途及其关系如下:
SCL22是条目的连续列表,针对对于节点而言所关注的每个时隙或时隙范围具有一个条目。如果节点想要使用时隙以接收或发送数据(Rx,Tx),则该时隙对于节点而言是所关注的。SCL22定义了FlexRay时隙相对于FlexRay节点的相关性和用途。将SCL22与BCL24相链接以将缓冲器与时隙相关联。
注意,对于2信道的DLC/CC,存在2个SCL,每个信道一个SCL。在两个信道之间仅共享一个BCL、BDL和一组FB。该“只有2个”和“只有1个”是概念上的,这是因为其物理实施方式可以是不同的,例如,保持作为单个连续的数据块的两个概念上的SCL的单个物理存储器,以及保持单个BCL的两个相邻因此连续的物理存储器。因此本发明是基于逻辑的数据结构建立的,逻辑的数据结构的物理表现是无约束的,只要其反映了其逻辑的对应物即可。
BCL24也是条目的连续列表,针对SCL22所涉及的每个缓冲器28具有一个条目。缓冲器是BCL24、BDL26和FB28的组合的抽象;BCL24提供了缓冲器定义,BDL26提供了条目定义,FB28提供了缓冲器数据;将BCL24中的单个项目与BDL26中的一个或多个项目相链接。
缓冲器通常是能够以所定义的方式通过一个或多个条目来管理数据的结构。注意,即使缓冲器具有多个BDL条目,由于BDL条目的存在并不意味着该缓冲器具有条目,因此仍然可能认为该缓冲器是空的(也即没有条目)。如果缓冲器具有均可被访问并且内容正确的BDL条目和相关的FB,则该缓冲器具有条目。对访问和内容的明确的处理是本发明所提供的灵活性的一部分。
BCL24定义了行为并保持缓冲器的状态(例如条目的数量、将要读取和写入的下一个条目),并与BDL26相链接,以将缓冲器条目与缓冲器28相关联。
注意,BCL是针对每个缓冲器具有1个条目的列表。如果存在数量为4的缓冲器,则BCL具有4个条目。如果将建立第5个缓冲器,则这可以通过在该4个条目的列表的末尾添加第5个条目来完成。
BDL26提供了条目的列表,针对BCL24中的作为缓冲器28的一部分的每个条目具有一个条目。缓冲器条目提供了对与帧相关的数据的实际位置的访问。将该区域称为“帧缓冲器28”。BDL26中的单个条目定义了缓冲器条目的特性(例如其数据大小),并与FB28相链接以将缓冲器条目与其帧数据相关联。
注意,BDL是针对每个缓冲器具有一个或多个条目的列表。如果存在4个缓冲器,每个缓冲器具有3个条目,则BDL具有4乘以3即12个条目。
FB28是保持与帧(消息)相关的数据的存储器区域。由于在BDL26中通过地址来表示该存储器区域,因此该存储器区域可以是在系统的地址范围(对于32比特寻址是4GB)内的任何地方。FB28不仅保持用于发送/接收的载荷数据,还保持状态数据。
通过将列表中的与SCL22的相对位置相关的偏移量与SCL基地址12a相加来访问SCL22。
经由“将SCL条目中的BCL偏移量与BCL基地址12b相加的”地址计算单元30来将SCL22与BCL24相链接。BCL24本身还经由第二“将BCL中的偏移量与BDL基地址12c相加的”地址计算单元30与BDL26相链接。每个BDL条目与帧缓冲器28相链接。
通信控制器12保持单元12a中的第一SCL条目的地址、单元12b中的第一BCL条目的地址、以及单元12c中的第一BDL条目的地址。将其与时隙控制列表22、SCL22与BCL24之间的第一地址计算单元30、以及BCL24与BDL26之间的第二地址计算单元30相链接。
数据流如下:数据链路控制器12通过SCL寻址单元12a对时隙控制列表22进行寻址。时隙控制列表22将相应的时隙与通过DLC/CC12所寻址的缓冲器控制列表24相连。BCL24定义了行为并保持缓冲器的状态(例如条目的数量),并与BDL26相链接以将缓冲器条目与缓冲器相关联。通过DLC/CC12来对BDL26进行寻址。BDL26定义了缓冲器条目的特性(例如其数据大小),并与FB28相链接以将缓冲器条目与其帧数据相关联。
术语“地址计算”通常表示通过将偏移量与基地址相加来产生地址。对于SCL,这是通过针对DLC/CC需要在其中进行发送/接收的每个时隙而递增的SCL条目计数器来完成的,而该计数器用作将与SCL基地址相加的偏移量,以获得将要处理的实际SCL条目的地址。对于BCL,该偏移量是在SCL条目中;对于BDL,该偏移量是在BCL条目中。
图5示出了使用根据本发明的存储单元18的FlexRay环境中的示例数据流。在图4的顶部描述的通信周期32使用七个时隙,其中在该特定周期中,静态区段包括三个时隙,动态区段包括四个时隙。DLC/CC12用于在时隙1中接收,在时隙3中发送。时隙2未使用。动态时隙用于四个时隙。DLC/CC12用于在时隙4和5中接收,在时隙6中发送,时隙7未被该节点100使用。在时隙5中未接收到数据。
该场景覆盖了存储器中的数据结构的初始化、控制器主机接口(CHI)的建立、由数据结构和协议引擎PE一起定义的操作。
此外,该场景覆盖了CHI所使用的AHB总线以及CPU(主机10)所使用的AHB总线上的数据业务。通过四个概念上的线程来表示CHI,以例证该数据结构支持并行操作和并发处理。所述线程为:
-Set-up:针对下一个Tx、Rx或空闲时隙进行建立(SCL22;BCL24);
-PE2Mem:从PE接收Rx数据并将其存储在存储器中;
-Mem2PE:从存储器读取数据并将其传输至PE;
-Wrap-up:通过对存储器(FB28)中的状态进行更新来完成Tx或Rx。
(例如)如标记为“I”的图所示,FlexRay的“周期开始”事件用于触发对SCL的读取,然后读取BCL,然后读取BDL,然后访问FB。然后在时隙1中接收帧。(例如)在接收之后,使用FlexRay的“下一个时隙”事件之后的状态“设置状态”来对存储器中的数据结构进行更新。“Rx”意味着SCL请求接收。“设置状态”意味着将帧和缓冲器状态数据存储在数据结构(FB和BCL)中。FB意味着对帧缓冲器细节进行交换,以允许将帧写入帧缓冲器。
该图的部分II是期望接收但未接收到帧的示例(FlexRay的动态区段)。除了丢失帧之外与上述情况相同。
尽管传递了用于读取而非写入的FB细节并且以另一种方式移动帧数据(存储器至PE而非PE至存储器),部分III中的发送与接收类似。
在周期的末端FlexRay开始了仍从第一时隙开始的下一个周期。这被描绘为“绕回”的箭头。
本发明涉及对Rx/Tx进行调度/管理的三维机制,其中第一维是时间(FlexRay时隙),第二维是缓冲,第三维是数据存储。该方法是基于动态性/灵活性。该方法是面向发送(Tx)和接收(Rx)的。
本发明可应用于任何时间触发的协议,例如FlexRay。应当注意的是,上述场景描述了诸多可能的并存的方法之一,并将被理解为示例。附图不应被解释为限定本发明的应用。特别地,使用FlexRay环境来说明了本发明。应当注意的是,任何时间触发的协议均可使用本发明。
虽然已经结合本发明的特定实施例描述了本发明,显然,对于本领域中的技术人员而言,诸多替换、修改和变化将是显而易见的。因此,这里提出的本发明的优选实施例旨在示例而非限定。在不背离所附的权利要求所限定的本发明的精神的情况下,可以进行各种改变。
附图标记列表
100通信系统节点
10主机控制器/CPU
12通信控制器
12a时隙控制列表寻址单元
12b缓冲器控制列表寻址单元
12c缓冲器描述符列表寻址单元
14专用逻辑
16存储器
18通用逻辑
20专用逻辑
22时隙控制列表
24缓冲器控制列表
26缓冲器描述符列表
28帧缓冲器
30地址计算单元
32通信周期
Claims (25)
1.一种通信系统节点(100),具有主机控制器(10)、主机控制器级别的通用存储器单元(16),以及通信控制器(12),其中通信基于时间触发的协议,其特征在于,在主机控制器级别上,在通信控制器(12)的外部设有用于与配置和缓冲相关的数据的至少一个存储单元(18),并且通信控制器(12)不具有用于与配置和缓冲相关的数据的存储单元。
2.根据权利要求1所述的系统,其特征在于,所述存储单元(18)包括以下被链接的数据结构:
-用于将通信控制器时隙与它们相应的缓冲器(28)相关联的时隙控制列表(22),被链接到
-用于将缓冲器(28)与它的缓冲器条目相关联的缓冲器控制列表(24),被链接到
-用于将缓冲器条目与它的帧或消息数据相关联的缓冲器描述符列表(26),被链接到
-用于保持帧或消息以及状态数据的帧缓冲器(28)。
3.根据权利要求1或2所述的系统,其特征在于,所述时隙控制列表(22)向通信系统节点(100)提供了通信控制器时隙的相关性和用途的定义,并保持到它的缓冲器的逻辑链接。
4.根据权利要求1-3中的至少一项所述的系统,其特征在于,所述缓冲器控制列表(24)提供了行为的定义,保持缓冲器(28)的状态,并保持到缓冲器的缓冲器条目的逻辑链接。
5.根据权利要求1-4中的至少一项所述的系统,其特征在于,所述缓冲器描述符列表(26)提供了缓冲器条目的特性的定义,并保持到帧缓冲器的逻辑链接。
6.根据权利要求1-5中的至少一项所述的系统,其特征在于,所述帧缓冲器(28)提供了保持帧或消息以及状态数据的存储区域。
7.根据权利要求1-6中的至少一项所述的系统,其特征在于,在所述时隙控制列表(22)与所述缓冲器控制列表(24)之间设有第一地址计算单元(30)。
8.根据权利要求1-7中的至少一项所述的系统,其特征在于,在所述缓冲器控制列表(24)与所述缓冲器描述符列表(26)之间设有第二地址计算单元(30)。
9.根据权利要求1-8中的至少一项所述的系统,其特征在于,在所述缓冲器描述符列表(26)与所述帧缓冲器(28)之间设有第三地址计算单元(30)。
10.根据权利要求1-9中的至少一项所述的系统,其特征在于,存储单元(18)是通用逻辑。
11.根据权利要求1-10中的至少一项所述的系统,其特征在于,所述存储单元(18)位于系统或主机控制器级别的所述通用存储器单元(16)内部。
12.根据权利要求1-11中的至少一项所述的系统,其特征在于,所述通信控制器(12)包括用于数据获取、解释、执行及状态更新的专用逻辑(20)。
13.根据权利要求1-12中的至少一项所述的系统,其特征在于,所述通信控制器(12)具有与时隙控制列表(22)相链接的时隙控制列表寻址单元(12a),用于对时隙控制列表(22)中的条目进行寻址。
14.根据权利要求1-13中的至少一项所述的系统,其特征在于,所述通信控制器(12)具有缓冲器控制列表寻址单元(12b),用于对缓冲器控制列表(24)中的条目进行寻址,其中缓冲器控制列表寻址单元(12b)与时隙控制列表(22)和缓冲器控制列表(24)之间的所述第一地址计算单元(30)相链接。
15.根据权利要求1-14中的至少一项所述的系统,其特征在于,所述通信控制器(12)具有缓冲器描述符列表寻址单元(12c),用于对所述缓冲器描述符列表(26)中的条目进行寻址,其中,所述缓冲器描述符列表寻址单元(12c)与缓冲器控制列表(24)和缓冲器描述符列表(26)之间的所述第二地址计算(30)相链接。
16.根据权利要求1-15中的至少一项所述的系统,其特征在于,所述通信控制器(12)具有帧缓冲器寻址单元,用于对帧缓冲器进行寻址,其中,所述帧缓冲器寻址单元与缓冲器描述符列表(26)和帧缓冲器(30)之间的所述第三地址计算相链接。
17.根据权利要求1-16中的至少一项所述的系统,其特征在于,将所述通信控制器(12)实现为FlexRay数据链路控制器。
18.根据权利要求1-17中的至少一项所述的系统,其特征在于,所述时间触发的协议是FlexRay协议。
19.一种通信系统中的存储单元(18),其中,该系统具有零个或多个活跃时隙以及至少一个逻辑缓冲器,该存储单元(18)包括一组被链接的数据结构:
-用于将通信控制器时隙与它们相应的缓冲器(28)相关联的时隙控制列表(22),被链接到
-用于将缓冲器条目与缓冲器(28)相关联的缓冲器控制列表(24),被链接到
-用于将缓冲器条目与它的帧或消息数据相关联的缓冲器描述符列表(26),被链接到
-用于保持帧或消息以及状态数据的帧缓冲器(28)。
20.根据权利要求19所述的存储单元(18),其特征在于,所述组具有权利要求3-11中的至少一个权利要求所述的特征。
21.一种用于时间触发的通信协议的通信系统中的与控制和缓冲相关的数据的数据存储方法,包括以下步骤:
-通过通信控制器(12)对时隙控制列表(22)的条目进行寻址;
-将时隙控制列表条目与缓冲器控制列表条目相链接,以将时隙与缓冲器相关联,并通过所述通信控制器(12)对缓冲器控制列表(24)的所述条目进行寻址;
-将缓冲器控制列表条目与缓冲器描述符列表条目相链接,以将缓冲器与缓冲器条目相关联,并通过所述通信控制器(12)对缓冲器描述符列表(26)的所述条目进行寻址;
-将所述缓冲器描述符列表(26)的条目与帧缓冲器(28)相链接,并通过所述通信控制器(12)对所述帧缓冲器(28)进行寻址。
22.根据权利要求21所述的方法,其特征在于,对所述时隙控制列表(22)进行访问的步骤包括:将与它在相应的列表中的相对位置相关联的偏移量与时隙控制列表基地址(12a)相加。
23.根据权利要求21所述的方法,其特征在于,将所述时隙控制列表(22)与缓冲器控制列表(24)相链接的步骤包括:在第一地址计算单元(30)中,将与它在相应的列表中的相对位置相关联的偏移量与缓冲器控制列表基地址(12b)相加。
24.根据权利要求21所述的方法,其特征在于,将所述缓冲器控制列表(24)与所述缓冲器描述符列表相链接的步骤包括:在第二地址计算单元(30)中,将与它在相应的列表中的相对位置相关联的偏移量与缓冲器描述符列表基地址(12c)相加。
25.根据权利要求21所述的方法,其特征在于,将所述缓冲器描述符列表(26)与所述帧缓冲器相链接的步骤包括:在第三地址计算单元(30)中将逻辑地址调整为与系统相关的地址。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05105064 | 2005-06-09 | ||
EP05105064.9 | 2005-06-09 | ||
PCT/IB2006/051792 WO2006131879A2 (en) | 2005-06-09 | 2006-06-06 | Storage unit for a communication system node, method for data storage and communication system node |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101194477A true CN101194477A (zh) | 2008-06-04 |
CN101194477B CN101194477B (zh) | 2012-10-31 |
Family
ID=37498822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800203599A Active CN101194477B (zh) | 2005-06-09 | 2006-06-06 | 通信系统节点、与控制和缓冲相关的数据的数据存储方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8660131B2 (zh) |
EP (1) | EP1894364B1 (zh) |
JP (1) | JP2008542946A (zh) |
KR (1) | KR20080022185A (zh) |
CN (1) | CN101194477B (zh) |
WO (1) | WO2006131879A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065588A (zh) * | 2013-03-21 | 2014-09-24 | 中兴通讯股份有限公司 | 一种数据包调度和缓存的装置及方法 |
CN111542117A (zh) * | 2019-02-06 | 2020-08-14 | Abb瑞士股份有限公司 | 无线工业网络中的循环时隙操作 |
CN111913762A (zh) * | 2020-08-20 | 2020-11-10 | 北京机电工程研究所 | 一种预留运行内存空间的dsp动态加载方法 |
CN114153775A (zh) * | 2021-12-10 | 2022-03-08 | 中国兵器工业集团第二一四研究所苏州研发中心 | 一种基于AXI总线的FlexRay控制器 |
Families Citing this family (166)
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 |
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 |
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 |
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 |
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
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065588A (zh) * | 2013-03-21 | 2014-09-24 | 中兴通讯股份有限公司 | 一种数据包调度和缓存的装置及方法 |
WO2014146468A1 (zh) * | 2013-03-21 | 2014-09-25 | 中兴通讯股份有限公司 | 一种数据包调度和缓存的方法、装置和计算机存储介质 |
CN104065588B (zh) * | 2013-03-21 | 2018-10-30 | 南京中兴新软件有限责任公司 | 一种数据包调度和缓存的装置及方法 |
CN111542117A (zh) * | 2019-02-06 | 2020-08-14 | Abb瑞士股份有限公司 | 无线工业网络中的循环时隙操作 |
CN111542117B (zh) * | 2019-02-06 | 2023-09-26 | 日立能源瑞士股份公司 | 无线工业网络中的循环时隙操作 |
CN111913762A (zh) * | 2020-08-20 | 2020-11-10 | 北京机电工程研究所 | 一种预留运行内存空间的dsp动态加载方法 |
CN111913762B (zh) * | 2020-08-20 | 2024-04-19 | 北京机电工程研究所 | 一种预留运行内存空间的dsp动态加载方法 |
CN114153775A (zh) * | 2021-12-10 | 2022-03-08 | 中国兵器工业集团第二一四研究所苏州研发中心 | 一种基于AXI总线的FlexRay控制器 |
CN114153775B (zh) * | 2021-12-10 | 2024-02-09 | 中国兵器工业集团第二一四研究所苏州研发中心 | 一种基于AXI总线的FlexRay控制器 |
Also Published As
Publication number | Publication date |
---|---|
KR20080022185A (ko) | 2008-03-10 |
US20100220735A1 (en) | 2010-09-02 |
EP1894364B1 (en) | 2020-01-01 |
WO2006131879A2 (en) | 2006-12-14 |
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 |
---|---|---|
CN101194477B (zh) | 通信系统节点、与控制和缓冲相关的数据的数据存储方法 | |
KR101016145B1 (ko) | 통신 컴포넌트 | |
CN1938691B (zh) | 仲裁存储器响应的系统、方法和装置 | |
CN101111826B (zh) | 一种用于保证通信系统的实时消息传输的装置及方法 | |
CN100595720C (zh) | 用于基于集线器的存储系统中直接存储器访问的设备和方法 | |
CN101449253B (zh) | 多处理器网关 | |
EP3752400A1 (en) | Systems and methods for scalable electrical engineering (ee) architecture in vehicular environments | |
EP2038744B1 (en) | Method and system of grouping interrupts from a time-dependent data storage means | |
CN102035688B (zh) | 一种快速控制网络链路访问设计方法 | |
CN101283548B (zh) | 在FlexRay通信组件和FlexRay用户之间的用户接口和用于通过这种接口传输消息的方法 | |
Navet et al. | A review of embedded automotive protocols | |
CN105630727B (zh) | 多SoC节点之间的访问方法、装置和系统 | |
WO2007147435A1 (en) | Method for transmitting a datum from a time-dependent data storage means | |
US20050015529A1 (en) | Duplexing system and method using serial-parallel bus matching | |
WO2004051474A2 (en) | Clustering system and method having interconnect | |
CN101228743A (zh) | FlexRay通信组件、FlexRay通信控制器和用于在FlexRay通信连接和FlexRay用户之间传输消息的方法 | |
CN102103560A (zh) | 用于系统总线的防死锁方法及装置 | |
CN101449252B (zh) | 通信组件以及用于双向数据传输的方法 | |
Guo et al. | A reusable framework for modeling and verifying in-vehicle networking systems in the presence of CAN and FlexRay | |
Kim et al. | Probabilistic delay model of dynamic message frame in flexray protocol | |
Mathur et al. | An analytical study of communication protocols used in automotive industry | |
Ding | Scheduling approach for static segment using hybrid genetic algorithm in FlexRay systems | |
Bloom et al. | Optimized event notification in CAN through in-frame replies and Bloom filters | |
Hua et al. | Cooperative and efficient real-time scheduling for automotive communications | |
CN117278356A (zh) | 一种可复用可拓展的chi链路层路由器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |