Methods and apparatus for updating data structures during in-service upgrade of software in network processor
    1.
    发明申请
    Methods and apparatus for updating data structures during in-service upgrade of software in network processor 有权
    网络处理器软件在线升级过程中更新数据结构的方法与装置

    公开(公告)号:US20070276850A1

    公开(公告)日:2007-11-29

    申请号:US11412762

    申请日:2006-04-27

    IPC分类号: G06F7/00

    CPC分类号: G06F8/656

    摘要: Improved techniques are disclosed for performing an in-service upgrade of software associated with a network or packet processor. By way of example, a method of managing data structures associated with code executable on a packet processor includes the following steps. Data structures in the code are identified as being one of static data structures and non-static data structures, wherein a static data structure includes a data structure that is not changed during execution of the packet processor code and a non-static data structure includes a data structure that is changed during execution of the packet processor code. One or more data structures associated with the packet processor code are managed in a manner specific to the identification of the one or more data structures as static data structures or non-static data structures. At least a portion of the data structures may include tree structures.

    摘要翻译: 公开了用于执行与网络或分组处理器相关联的软件的在职升级的改进的技术。 作为示例,管理与分组处理器上可执行的代码相关联的数据结构的方法包括以下步骤。 代码中的数据结构被识别为静态数据结构和非静态数据结构之一,其中静态数据结构包括在分组处理器代码的执行期间不改变的数据结构,并且非静态数据结构包括 数据结构在分组处理器代码执行期间发生变化。 与分组处理器代码相关联的一个或多个数据结构以特定于一个或多个数据结构的标识作为静态数据结构或非静态数据结构的方式进行管理。 数据结构的至少一部分可以包括树结构。

    Methods and apparatus for performing in-service upgrade of software in network processor
    3.
    发明申请
    Methods and apparatus for performing in-service upgrade of software in network processor 有权
    在网络处理器中执行软件在线升级的方法和装置

    公开(公告)号:US20070255764A1

    公开(公告)日:2007-11-01

    申请号:US11412915

    申请日:2006-04-27

    IPC分类号: G06F17/30

    CPC分类号: G06F8/656

    摘要: Improved techniques are disclosed for performing an in-service upgrade of software associated with a network or packet processor. By way of example, a method of performing an in-service upgrade of code, storable in a memory associated with a packet processor and executable on the packet processor, from a first code version to a second code version, includes the following steps. A first step includes preparing for the upgrade by generating one or more write operations to effectuate the code upgrade from the first code version to the second code version. A second step includes updating the code from the first code version to the second code version by propagating the one or more write operations to the packet processor. A third step includes cleaning up after the updating step by reclaiming one or more memory locations available after the update step. As such, the storage of only a single version of the code in the memory associated with the packet processor is required.

    摘要翻译: 公开了用于执行与网络或分组处理器相关联的软件的在职升级的改进的技术。 作为示例,执行可存储在与分组处理器相关联并且可在分组处理器上执行的存储器中的代码的从第一代码版本到第二代码版本的代码的在役升级的方法包括以下步骤。 第一步包括通过生成一个或多个写入操作来准备升级,以实现从第一代码版本到第二代码版本的代码升级。 第二步包括通过将一个或多个写入操作传播到分组处理器来将代码从第一代码版本更新为第二代码版本。 第三步包括在更新步骤之后通过回收在更新步骤之后可用的一个或多个存储器位置进行清理。 因此,仅需要在与分组处理器相关联的存储器中存储单个版本的代码。

    Virtual segmentation system and method of operation thereof
    5.
    发明申请
    Virtual segmentation system and method of operation thereof 有权
    虚拟分割系统及其操作方法

    公开(公告)号:US20060088040A1

    公开(公告)日:2006-04-27

    申请号:US11299645

    申请日:2005-12-12

    IPC分类号: H04L12/56 H04L12/28

    摘要: A virtual segmentation system and a method of operating the same. In one embodiment, the virtual segmentation system includes a protocol data unit receiver subsystem configured to (i) receive at least a portion of a protocol data unit and (ii) store the at least a portion of the protocol data unit in at least one block, and a virtual segmentation subsystem, associated with the protocol data unit receiver subsystem, configured to perform virtual segmentation on the protocol data unit by segmenting the at least one block when retrieved without reassembling an entirety of the protocol data unit.

    摘要翻译: 虚拟分割系统及其操作方法。 在一个实施例中,虚拟分段系统包括协议数据单元接收器子系统,其被配置为(i)接收协议数据单元的至少一部分,以及(ii)将协议数据单元的至少一部分存储在至少一个块中 以及与所述协议数据单元接收器子系统相关联的虚拟分段子系统,被配置为通过在未重新组合所述协议数据单元的整体的情况下分段所述至少一个块来对所述协议数据单元执行虚拟分段。

    Method for encoding/decoding a binary signal state in a fault tolerant environment
    6.
    发明申请
    Method for encoding/decoding a binary signal state in a fault tolerant environment 有权
    在容错环境中对二进制信号状态进行编码/解码的方法

    公开(公告)号:US20050223276A1

    公开(公告)日:2005-10-06

    申请号:US11142562

    申请日:2005-05-31

    CPC分类号: H04L41/0663 H04L43/0817

    摘要: A method for use in a fault tolerant environment for assuring that devices within the environment switch between primary and back-up systems in response to remotely generated control signals. In one embodiment, the inventive system uses a binary code in the form of a pair of different frequency signals, i.e., a binary zero is represented by one frequency and a binary one is represented by another frequency. The signals may be continuous or may be sent in timed bursts. At the individual devices, such as the aforementioned line cards, a receiver is provided to detect the presence of the signals. Since the line cards already have receivers to detect the binary signal, modification to detect a frequency signal requires the addition of minimal components. The receiver also includes circuitry for reporting the status of the card and such circuitry can be used to report to the remote controller whether the signals are reaching the line card. Alternately, the signals could be sent in burst format using a single frequency in which the number of bursts could indicate a binary one or a binary zero. For example, if N bursts are received in some unit of time, that could be indicative of one binary state. If 2N burst are received in the same unit of time, that could be indicative of another binary state. In another form, the receiver could be programmed to look for N changes of frequency per unit of time to indicate one binary state and 2N changes of frequency could be indicative of another binary state.

    摘要翻译: 一种在容错环境中使用的方法,用于确保环境中的设备响应于远程产生的控制信号在主系统和备用系统之间切换。 在一个实施例中,本发明的系统使用一对不同频率信号形式的二进制代码,即二进制零由一个频率表示,二进制代表由另一个频率表示。 信号可以是连续的或可以以定时脉冲串发送。 在诸如上述线卡的各个设备上,提供接收器来检测信号的存在。 由于线路卡已经有接收机来检测二进制信号,因此要检测频率信号的修改需要添加最小的组件。 接收器还包括用于报告卡的状态的电路,并且这种电路可用于向遥控器报告信号是否到达线路卡。 或者,信号可以使用单个频率以突发格式发送,其中突发数可以指示二进制数或二进制零。 例如,如果在某个时间单位接收到N个突发,则可以指示一个二进制状态。 如果在相同的时间单位中接收到2N个突发,那可能表示另一个二进制状态。 在另一种形式中,接收机可以被编程为寻找每单位时间的频率的N个变化,以指示一个二进制状态,并且2N个频率变化可以指示另一个二进制状态。

    Processor with scheduler architecture supporting multiple distinct scheduling algorithms
    7.
    发明申请
    Processor with scheduler architecture supporting multiple distinct scheduling algorithms 有权
    具有调度器架构的处理器,支持多种不同的调度算法

    公开(公告)号:US20050111461A1

    公开(公告)日:2005-05-26

    申请号:US10722933

    申请日:2003-11-26

    IPC分类号: H04L12/56

    摘要: A processor includes a scheduler operative to schedule data blocks for transmission from a plurality of queues or other transmission elements, utilizing at least a first table and a second table. The first table may comprise at least first and second first-in first-out (FIFO) lists of entries corresponding to transmission elements for which data blocks are to be scheduled in accordance with a first scheduling algorithm, such as a weighted fair queuing scheduling algorithm. The scheduler maintains a first table pointer identifying at least one of the first and second lists of the first table as having priority over the other of the first and second lists of the first table. The second table includes a plurality of entries corresponding to transmission elements for which data blocks are to be scheduled in accordance with a second scheduling algorithm, such as a constant bit rate or variable bit rate scheduling algorithm. Association of a given one of the transmission elements with a particular one of the second table entries establishes a scheduling rate for that transmission element. The scheduler maintains a second table pointer identifying a current one of the second table entries that is eligible for transmission.

    摘要翻译: 处理器包括调度器,其利用至少第一表和第二表来调度用于从多个队列或其他传输元件传输的数据块。 第一表可以包括对应于根据第一调度算法(例如加权公平排队调度算法)对数据块进行调度的传输元件的条目的至少第一和第二先进先出(FIFO)列表 。 调度器维护第一表指针,其将第一表的第一列表和第二列表中的至少一个列表标识为优先于第一表的第一和第二列表中的另一列。 第二表包括对应于根据诸如恒定比特率或可变比特率调度算法的第二调度算法对其数据块进行调度的传输元件的多个条目。 给定一个传输单元与特定的一个第二表项的关联建立该传输单元的调度速率。 调度器维护第二表指针,其标识有资格传输的第二表条目中的当前一个。

    Tracking written addresses of a shared memory of a multi-core processor
    8.
    发明授权
    Tracking written addresses of a shared memory of a multi-core processor 有权
    跟踪多核处理器的共享内存的写入地址

    公开(公告)号:US09195464B2

    公开(公告)日:2015-11-24

    申请号:US13316145

    申请日:2011-12-09

    摘要: Described embodiments provide a method of controlling processing flow in a network processor having one or more processing modules. A given one of the processing modules loads a script into a compute engine. The script includes instructions for the compute engine. The given one of the processing modules loads a register file into the compute engine. The register file includes operands for the instructions of the loaded script. A tracking vector of the compute engine is initialized to a default value, and the compute engine executes the instructions of the loaded script based on the operands of the loaded register file. The compute engine updates corresponding portions of the register file with updated data corresponding to the executed script. The tracking vector tracks the updated portions of the register file. The compute engine provides the tracking vector and the updated register file to the given one of the processing modules.

    摘要翻译: 所描述的实施例提供了一种控制具有一个或多个处理模块的网络处理器中的处理流程的方法。 给定的一个处理模块将脚本加载到计算引擎中。 该脚本包括计算引擎的说明。 给定的一个处理模块将一个寄存器文件加载到计算引擎中。 寄存器文件包括用于加载脚本的指令的操作数。 计算引擎的跟踪向量被初始化为默认值,并且计算引擎基于加载的寄存器文件的操作数来执行加载脚本的指令。 计算引擎使用对应于执行脚本的更新数据更新寄存器文件的相应部分。 跟踪向量跟踪寄存器文件的更新部分。 计算引擎将跟踪向量和更新的寄存器文件提供给给定的一个处理模块。

    Local messaging in a scheduling hierarchy in a traffic manager of a network processor
    9.
    发明授权
    Local messaging in a scheduling hierarchy in a traffic manager of a network processor 有权
    网络处理器流量管理器中的调度层次结构中的本地消息传递

    公开(公告)号:US08869150B2

    公开(公告)日:2014-10-21

    申请号:US13250898

    申请日:2011-09-30

    摘要: Described embodiments provide for queuing tasks in a scheduling hierarchy of a network processor. A traffic manager generates a tree scheduling hierarchy having a root scheduler and N scheduler levels. The network processor generates tasks corresponding to received packets. The traffic manager performs a task enqueue operation for the task. The task enqueue operation includes adding the received task to an associated queue of the scheduling hierarchy, where the queue is associated with a data flow of the received task. The queue has a corresponding scheduler level M, where M is a positive integer less than or equal to N. Starting at the queue and iteratively repeating at each scheduling level until reaching the root scheduler, each node in the scheduling hierarchy maintains an actual count of tasks corresponding to the node. Each node communicates a capped task count to a corresponding parent scheduler at a relative next scheduler level.

    摘要翻译: 描述的实施例提供了在网络处理器的调度层次中排队任务。 流量管理器生成具有根调度器和N个调度器级别的树调度层次。 网络处理器生成与接收到的数据包相对应的任务。 流量管理器执行任务的任务入队操作。 任务排队操作包括将接收到的任务添加到调度层次结构的关联队列中,其中队列与接收到的任务的数据流相关联。 队列具有对应的调度器级别M,其中M是小于或等于N的正整数。从队列开始并在每个调度级别迭代重复,直到到达根调度器,调度层次结构中的每个节点保持实际计数 与节点对应的任务。 每个节点在相对的下一个调度器级别将封顶的任务计数传送给相应的父调度器。

    Byte-accurate scheduling in a network processor
    10.
    发明授权
    Byte-accurate scheduling in a network processor 有权
    网络处理器中的字节精确调度

    公开(公告)号:US08619787B2

    公开(公告)日:2013-12-31

    申请号:US13250927

    申请日:2011-09-30

    IPC分类号: H04L12/28

    摘要: Described embodiments provide for scheduling packets for transmission by a network processor. A traffic manager generates a tree scheduling hierarchy having a root scheduler and N scheduler levels. The network processor generates tasks corresponding to received packets. The traffic manager enqueues the received task in the associated queue, the queue having a corresponding parent scheduler at each of one or more next levels of the scheduling hierarchy up to the root scheduler. Each scheduler determines one or more tasks to schedule from a given queue based on a default packet size of the packet corresponding to the task. The corresponding packet data is read from a shared memory, and, at each corresponding parent scheduler up to the root scheduler, an actual size of the packet data is updated. Scheduling weights of each corresponding parent scheduler are updated based on the actual size of the packet data.

    摘要翻译: 描述的实施例提供了调度分组以供网络处理器进行传输。 流量管理器生成具有根调度器和N个调度器级别的树调度层次。 网络处理器生成与接收到的数据包相对应的任务。 流量管理器将所接收到的任务排入相关联的队列中,该队列具有相应的父调度器,直到根调度器的调度层次结构的一个或多个下一个级别。 每个调度器基于与该任务相对应的分组的默认分组大小来确定从给定队列调度的一个或多个任务。 相应的分组数据从共享存储器读取,并且在每个对应的父调度器直到根调度器,更新分组数据的实际大小。 基于分组数据的实际大小来更新每个对应的父调度器的调度权重。