Patent ID: 8825896

Claim:
A system comprising: a memory controller in a router that separates a memory into multiple banks and enables a plurality of selected banks to be accessed concurrently, the memory controller further comprising: logic that creates a representation of a tree structure in memory and builds routing tables accessed by pointers at nodes in the tree memory structure; logic that finds a target memory address based on a received Internet Protocol (IP) address used by the tree memory structure and the routing table; logic that uses route packets received by the memory controller from a downstream router downstream of the router to add nodes to the tree structure and add data to the routing table, the route packets comprising information for conditionally forming the nodes based on mutual comparison of the route packets, the information comprising at least a value (Val) field indicating a measure of worth of an output port; and logic that traverses the tree memory structure and updates the value (Val) field as the tree memory structure is traversed.