Multiplex communications – Pathfinding or routing – Switching a message which includes an address header
Reexamination Certificate
1996-12-30
2001-05-15
Pham, Chi H. (Department: 2731)
Multiplex communications
Pathfinding or routing
Switching a message which includes an address header
C370S392000, C370S401000
Reexamination Certificate
active
06233242
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates to the field of networking devices, and more particularly to a network switch including a shared memory system.
DESCRIPTION OF THE RELATED ART
There are many different types of networks and network systems for sharing files and resources or for otherwise enabling communication between two or more computers. Networks may be categorized based on various features and functions, such as message capacity, range over which the nodes are distributed, node or computer types, node relationships, topology or logical and/or physical layout, architecture or structure based on cable type and data packet format, access possibilities, etc. For example, the range of a network refers to the distance over which the nodes are distributed, such as local-area networks (LANs) within an office or floor of a building, wide-area networks (WANs) spanning across a college campus, or a city or a state, global-area networks (GANs) spanning across national boundaries, etc.
The structure of a network generally refers to the cabling or media and media access used as well as the packet structure of the data transmitted across the media. Various structures are common, including Ethernet using coaxial, twisted pair or fiber-optic cables for operation at 10 megabits per second (Mbps) (e.g. 10Base-T, 10Base-F) or fast Ethernet operating at 100 Mbps (e.g. 100Base-T, 100Base-FX). ARCnet (Attached Resource Computer Network) is a relatively inexpensive network structures using coaxial, twisted pair or fiber-optic cables for operation at 2.5 Mbps. Token Ring topologies use special IBM cable or fiber-optic cable for operation between 1-16 Mbps. Of course, many other types of networks are known and available.
Each network generally includes two or more computers, often referred to as nodes or stations, which are coupled together through selected media and various other network devices for relaying, transmitting, repeating, translating, filtering, etc., the data between the nodes. The term “network device” generally refers to the computers and their network interface cards (NICs) as well as various other devices on the network, such as repeaters, bridges, switches, routers, brouters, to name a few examples. A network operating according to a given communications protocol may be expanded by using one or more repeaters, bridges or switches. A repeater is a hardware device that functions at the physical layer and re-transmits each received packet to every other port. A bridge operates at the data link layer of OSI Reference Model and increases efficiency by filtering packets to reduce the amount of unnecessary packet propagation on each network segment.
A network switch is similar in function to, yet more efficient than, a multiport bridge, which includes a plurality of ports for coupling to several similar networks for directing network traffic among the networks. A network switch usually includes a switching matrix coupled to the ports across a bus and memory for temporarily storing network data, such as Ethernet packets or the like. The particular memory configuration for switches often included static random access memory (SRAM) modules distributed throughout the switch for performing various functions. Many switches, for example, included a separate SRAM memory device for each network port for buffering purposes. An SRAM device was also provided for management functions, such as a hash lookup table and related statistical information, and a separate SRAM device was provided as the primary buffer memory for storing data packets being transferred between ports. An alternative type of port-distributed memory is known as content addressable memory (CAM), where each port required a dedicated CAM.
SRAMs generally provided greater performance as compared to other types of memory, such as dynamic RAM (DRAM). Also, SRAMs were commonly used because they are non-volatile and thus do not require refresh overhead. In standard switch configurations, refresh cycles would otherwise consume valuable processor resources. However, SRAM devices, as well as CAM devices, are relatively expensive. Also, SRAM devices are relatively large and consume valuable real-estate and appreciable amounts of power. The use of distributed port-distributed SRAM or CAMs caused performance limitations, including a limit on the number of addresses that could be supported per port. The use of distributed SRAMs also caused extra time to access the data in the buffer for hash lookup purposes. For example, one SRAM device included a list of link address pointers to the buffer contents, while another SRAM implemented the actual buffer. Thus, at least two separate memory accesses were required to access data within the buffer.
In summary, due to the size and cost of SRAM devices, switch designers distributed the memory throughout the switch and limited the size of each memory device to save cost and printed circuit board resources. It is desired to maintain the advantages switch memory systems while also eliminating many of the inherent limitations and problems while also reducing cost.
SUMMARY OF THE INVENTION
A network switch according to the present invention for enabling communication among a plurality of network devices includes a central memory that stores device identification information, port numbers and other control information, and that buffers the actual packet data received at the ports. The central memory is organized to include a packet section to temporarily store packet data and a network device identification section to store a plurality of identification entries, where each entry corresponds to a network device coupled to a port of the switch. The switch further includes a switch manager that controls data flow between the network ports and the central memory. The network switch is useful to enable communication in a network system including a plurality of networks coupled to the switch ports, where each network includes one or more network devices.
Each of the identification entries includes a unique network address to identify one of the network devices and a port number to identify one of the network ports. The unique address is typically a media access control (MAC) address to ensure uniqueness among network devices in the industry. Each of the identification entries further includes a group bitmap number to identify a subset of the network ports according to a virtual local area network (VLAN).
Each of the identification entries is preferably located within the central memory at a hash address derived by hashing the unique network address. The switch manager further includes hash logic that receives and hashes the network addresses to determine the hash address, and that uses the hash address to access the identification entries within the central memory. The hash logic preferably includes a cache memory that retrieves and stores data from the central memory to enhance performance of the network switch.
The network device identification section is organized into a primary section and a chained section. The primary section stores identification entries corresponding to the first occurrence of each hash address, and the chained section stores identification entries corresponding to subsequent occurrences of the same hash address for different MAC addresses. Each of the identification entries further includes a link address to another identification entry within the chained section in the event of duplicate hash addresses. The use of a separate memory of link addresses is eliminated so that the port information for the first entry is immediately available. The chain structure enables quick access of entries corresponding to duplicate hash entries.
The packet section is organized into a plurality of sectors, where each of the sectors includes a packet section and a corresponding sector information block. The packet section stores packet data, where each packet of data is stored in a packet data block. The sector information block includes a sector packet count identifying the number of packe
Hareski Patricia E.
Kotzur Gary B.
Mayer Dale J.
Richter Roger
Walker William J.
Akin Gump Strauss Hauer & Feld & LLP
Compaq Computer Corporation
Duong Frank
Pham Chi H.
LandOfFree
Network switch with shared memory system does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Network switch with shared memory system, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Network switch with shared memory system will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2445730