+ All Categories
Home > Documents > MID Report.pdf

MID Report.pdf

Date post: 19-Nov-2015
Category:
Upload: swamy
View: 35 times
Download: 0 times
Share this document with a friend
Popular Tags:
28
1 Harasser and Packet Analysis for Gigabit Ethernet in Post Silicon Server Validation Project Mid Semester Report Submitted to By G.SWAMY (134609) MASTER OF TECHNOLOGY (Advanced Communication Systems) Department of Electronics and Communication Engineering to SRI.A.P.RAO (Associate Professor) Under the guidance of Sri. K. Ravi Kishore Mr. Jeyaraj k Jeyabalan Associate Professor System Validation Engineer Department of ECE Intel Technology India Pvt Ltd NIT Warangal Bangalore NATIONAL INSTITUTE OF TECHNOLOGY, WARANGAL (DEEMED UNIVERSITY) Telangana-506004 2014-2015
Transcript
  • 1

    Harasser and Packet Analysis for Gigabit Ethernet in Post Silicon Server Validation

    Project Mid Semester Report Submitted to

    By

    G.SWAMY (134609)

    MASTER OF TECHNOLOGY

    (Advanced Communication Systems)

    Department of Electronics and Communication Engineering

    to

    SRI.A.P.RAO

    (Associate Professor)

    Under the guidance of

    Sri. K. Ravi Kishore Mr. Jeyaraj k Jeyabalan

    Associate Professor System Validation Engineer

    Department of ECE Intel Technology India Pvt Ltd

    NIT Warangal Bangalore

    NATIONAL INSTITUTE OF TECHNOLOGY, WARANGAL

    (DEEMED UNIVERSITY)

    Telangana-506004

    2014-2015

  • 2

    Contents Page No

    1. Abstract 3

    2. Literature Survey 4

    3. Problem Statement 6

    4. Hardware and Software Details 7

    5. Work Done So far

    5.1 Auto Negotiation 8

    5.1.1 Speed 10

    5.1.2 Duplex 14

    5.2 Interrupts 17

    5.2.1 Introduction to MSI and Its Capabilities 19

    5.2.2 MSI Types 20

    5.3 Power States 22

    6. Conclusion 27

  • 3

    Abstract

    Validation remains an integral and crucial phase of todays microprocessor design and

    manufacturing process. Due to sheer design complexity, it is nearly impossible to detect and fix

    all bugs before manufacture. Post-silicon validation is used to detect and fix bugs in integrated

    circuits and systems after manufacture. In this thesis, it is described a situation in which we

    have to validate the Functionality of Ethernet Controller in Post Silicon Server Validation. The

    main aim of the project is to introduce different types of harassers into the Giga Bit Ethernet

    controller in Post silicon server validation and to stress the Gigabit Ethernet Controller and

    validate the robustness of the controller by monitoring it's behavior under prolonged stressful

    tests and analyze the drop in packets because of these harassers using packet analyzing tools

    such as wire shark. The different types of harassers we can introduce are Reset, Speed Change,

    Power States, Interrupts, Error Injection. The general usage of harassers in post-silicon

    validation environment is to stress the Gigabit Ethernet Controller and validate the robustness

    of the controller by monitoring its behavior under prolonged stressful tests.

  • 4

    2. Literature Survey

    One of the challenging tasks in server validation is to check correctness of the product both

    before and after the product is released to maintain quality of product shipped. Validation

    remains an integral and crucial phase of todays microprocessor design and manufacturing

    process. Due to sheer design complexity, it is nearly impossible to fix all bugs before

    manufacture. Post-silicon validation is used to detect and fix bugs in integrated circuits and

    systems after manufacture [1].

    In general there are many components externally connected to the CPU in the present day

    systems, some of the components to be noticed are Ethernet card connected to the PCI Express

    protocol of the CPU [2]. This Ethernet card is controlled by Ethernet Controller.

    In this thesis, it is described a situation in which we have to validate the Functionality of

    Ethernet Controller. Once the Ethernet Controller is designed it is necessary to validate the

    Ethernet Functionally as well as performance wise to confirm whether it is working in

    conformance with the given specifications. For Validating the Functionality of Giga Bit Ethernet

    we need to introduce different types of harassers into the Giga Bit Ethernet controller in Post

    silicon server validation and to stress the Gigabit Ethernet Controller and validate the

    robustness of the controller by monitoring it's behavior under prolonged stressful tests and

    analyze the drop in packets because of these harassers using packet analyzing tools such as

    wire shark. The different types of harassers we can introduce are such as Reset, Speed Change,

    Power States, Interrupts, Error Injection and analyze the packets using packet analyzing tools

    such as Wire shark.

    In real time computers are connected to different range in speeds of Networks. So whenever

    speed is changed computer should be able to connect to that speed by auto negotiating with

    the Link partner. If we change the speed any number of times it should be able to connect. By

    keeping that in view in post silicon validation after Ethernet controller is designed we are

    harassing the controller by changing the speed number of times in combination with the auto

    negotiation. In this process after changing speed every time we will check the speed by calling

  • 5

    Link speed function running. By using Iperf also we can verify the same. In this way we can

    validate the robustness of the Ethernet Controller. Speed change is implemented as part of

    Auto Negotiation.

    The objective of the Auto-Negotiation function is to provide the means to exchange

    information between two devices that share a link segment and to automatically configure both

    devices to take maximum advantage of their abilities. We use the base page exchange

    mechanism to achieve Auto-Negotiation up to 100 Mbps speeds only [3].

    In real time we send and receive lot of data through Ethernet. Any time we want to send data

    we need to get the attention of CPU. So in Post Silicon Validation After designing Ethernet

    Controller we are trying to validate the robustness of the Ethernet Controller by sending some

    traffic and manually setting interrupts from the Ethernet Controller. These interrupts enable

    the CPU in processing the data efficiently. Legacy interrupts like INTx need Multi-step

    communication to execute an interrupt [3].

    In real time we switch ON and off the Ethernet Device by switching ON or OFF the Operating

    System number of times. So every time we switch ON the Computer Ethernet Link should come

    up. So in Post Silicon Validation After designing Ethernet Controller we are trying to manually

    change the Ethernet Device to ON and OFF state repetitively and in each state by running some

    link reliable tests such as Iperf we can validate the robustness of the controller. When the

    operating system boots first Ethernet device is in D0 Active. So in this state Ethernet

    communication link is up and it works normally. When Ethernet Device is D3 state Device is OFF

    state. In this case Communication Link will go down. In case when the device is DO uninitialized

    state Device wait for initialization by BIOS. In DOU state also communication link goes down [4].

  • 6

    3. Problem Statement

    Validation remains an integral and crucial phase of todays microprocessor (Next Generation

    Xeon Processors) design and manufacturing process. Due to sheer design complexity, it is nearly

    impossible to detect and fix all bugs before manufacture. Post-silicon validation is used to

    detect and fix bugs in integrated circuits and systems after manufacture. In this thesis, it is

    described a situation in which we have to validate the Functionality of Ethernet Controller in

    Post Silicon Server Validation.

    The main aim of the project is to introduce different types of harassers into the Giga Bit

    Ethernet controller in Post silicon server validation and to stress the Gigabit Ethernet Controller

    and validate the robustness of the controller by monitoring it's behavior under prolonged

    stressful tests and analyze the drop in packets because of these harassers using packet

    analyzing tools such as wire shark. The different types of harassers we can introduce are Reset,

    Speed Change, Power States, Interrupts, Error Injection. The general usage of harassers in post-

    silicon validation environment is to stress the Gigabit Ethernet Controller and validate the

    robustness of the controller by monitoring its behavior under prolonged stressful tests.

  • 7

    4. Hard Ware Details

    Processor: Next Generation Xeon Processors

    Ethernet Card: Intel Giga Bit Ethernet Card

    Ethernet Controller: Intel Giga Bit Ethernet Card

    Soft Ware Details:

    Programming Language: Python 2.7.6

    Performance Tools: Iperf

    Packet Analyzing Tool: Wire Shark

  • 8

    5. Work done so far

    5.1 Auto Negotiation

    In real time computers are connected to different range in speeds of Networks. So whenever

    speed is changed computer should be able to connect to that speed by auto negotiating with

    the Link partner. If we change the speed any number of times it should be able to connect. By

    keeping that in view in post silicon validation after Ethernet controller is designed we are

    harassing the controller by changing the speed number of times in combination with the Auto

    Negotiation. In this process after changing speed every time we will check the speed by calling

    Link speed function running. By using Iperf also we can verify the same. In this way we can

    validate the robustness of the Ethernet Controller. Speed change is implemented as part of

    Auto Negotiation. So we will discuss the Auto Negotiation below.

    Auto-Negotiation plays a key role in the area of Computer Networks. Auto-negotiation is best

    defined as the mutual agreement by two network devices sharing a wire on the speed, duplex,

    and controls to govern the use of that wire. It allows a device to advertise enhanced modes of

    operation it possesses to a device at the remote end of a link segment and to detect

    corresponding enhanced operational modes that the other device may be advertising. The

    objective of the Auto-Negotiation function is to provide the means to exchange information

    between two devices that share a link segment and to automatically configure both devices to

    take maximum advantage of their abilities

    As a protocol auto-negotiation exists strictly at the PHY (physical) layer of the OSI (Open System

    Interconnection Reference Model) and is implemented by software, hardware, or a mixture of

    both. Relationship of Auto Negotiation function with OSI Reference model is shown in following

    Figure 5.1.

  • 9

    Figure 5.1 Location of Auto-Negotiation function within the ISO OSI Reference Model

    The Auto-Negotiation function provides a mechanism to control connection of a single MDI to a

    single PHY type, where more than one PHY type may exist. The Auto-Negotiation functions shall

    interact with the technology dependent PHYs through the Technology-Dependent interface.

    Technology-Dependent PHYs include 1000BASE-KX, 10GBASE-KX4, 10GBASE-KR, 40GBASE-KR4,

    40GBASE-CR4, and 100GBASE-CR10.When the MDI supports multiple lanes, then lane 0 of the

    MDI shall be used for Auto Negotiation and for connection of any single-lane PHYs (e.g.,

    1000BASE-KX or10GBASE-KR).

    For a link to function properly the devices on either side of the wire must be configured in the

    same manner; either both set to auto negotiation or both set to the same hard-coded speed

    and duplex settings. In an environment where one device is set to auto-negotiate and the other

    device is set to a hard-coded speed and duplex the auto-negotiate algorithm can detect speed

    and set that appropriately. The duplex setting of the remote device is indeterminable by the

    auto-negotiating device. Following the IEEE standard, the auto-negotiating device falls back to

  • 10

    half-duplex. This presents an issue if the remote device is set to full-duplex. Typically in such a

    scenario, users complain of slow network connectivity and application timeouts.

    5.1.1 Speed

    Speed is one of the two two parameters which is to be negotiated with the link partner. IEEE

    802.3u introduced 100Mb/s to what was previously only a 10 Mb/s Ethernet networking world.

    Now that computers had a choice of what speed to communicate a procedure needed to be

    introduced to govern this decision. With the introduction of a third speed, 1000 Mb/s or Gigabit

    Ethernet, this procedure became even more important. Thus the auto-negotiation protocol was

    created while still maintaining complete backwards compatibility with the 10Mb/s protocol.

    A device capable of auto-negotiation transmits and receives the Link code word base page. The

    receiver must identify three identical LCWs before the information is authenticated and used in

    the arbitration process. The devices decode the LCW base Page and select capabilities of the

    highest common denominator supported by both devices. Figure 5.2 illustrates the Base Page.

    Figure 5.2 LCW Base Page

  • 11

    The First 5 bits only have two valid values. They state either to use IEEE 802.3 (Ethernet) or IEEE

    802.9 (Iso Ethernet over Cat3twisted pair). The next 5 bits state what speed and duplex

    combinations that a device can communicate. Bits A5 and A6 are used for Flow Control and D14

    is used to acknowledge a negotiation. The last bit, D15 is used to denote the need to use Next

    Page, a more advanced LCW used to negotiate Gigabit speeds and controls.

    Once the LCWs are properly received, each device transmits a Base Page with an acknowledge

    bit. At this point, both devices enable the mode that is the highest common mode negotiated.

    The clock pulses are used for timing and recovery of the data pulses are shown in figure 5.3.

    Figure 5.3 FLP Burst Timing

    If the data pulse is present, it represents a value of one in the LCW for that position. The lack of

    a data pulse indicates a zero in the LCW for that position, as shown in Figure 5.4.

    Figure 5.4 FLP Burst Encoding

  • 12

    To support Giga Bit Speeds, the advanced version of Link Code Word Base Page is implemented

    in Auto Negotiation Mechanism which is shown in below figure 5.5.

    Figure 5.5 Link code word Base Page

    Link Code word Base Page consisting of 48 bits. These 48 bits are transmitted with the speed of

    clock pulse. As it doesn't has any particular speed before auto negotiation. The Purpose of each

    bit in Link Code word Base page is described below.

    Selector Field: Selector Field (S[4:0]) is a 5 bit wide field, encoding 32 possible messages.

    Combinations not specified are reserved for future use .The first 5 bits only have two valid

    values. They state either to use IEEE 802.3 (Ethernet) with or IEEE 802.9 (Iso Ethernet over Cat3

    twisted pair).For IEEE 802.3 selector field is 00001 and for IEEE 802.9 selector field is 00010.

    Technology Ability Field: Technology Ability Field (A[24:0]) is a 25-bit wide field containing

    information indicating supported technologies specific to the selector field value when used

    with the Auto-Negotiation for Ethernet. These bits are mapped to individual technologies such

    that abilities are advertised in parallel for a single selector field value. The Technology Ability

    Field encoding for the IEEE 802.3 selector with Auto-Negotiation for Ethernet is described in

    below Table 5.1.

  • 13

    Table 5.1: Technology Ability Field encoding

    Remote Fault: Remote Fault (RF) is encoded in bit D13 of the base link code word. The default

    value is logic zero. The Remote Fault bit provides a standard transport mechanism for the

    transmission of simple fault information.

    Acknowledge: Acknowledge (Ack) is used by the Auto-Negotiation function to indicate that a

    device has successfully received its link partners link code word.

    Next Page: Next Page (NP) is encoded in bit D15 of link code word. Support of Next Pages is

    mandatory. If the device does not have any Next Pages to send, the NP bit shall be set to logical

    zero. If a device wishes to engage in Next Page exchange, it shall set the NP bit to logical one. If

    a device has no Next Pages to send and its link partner has set the NP bit to logical one, it shall

    transmit Next Pages with Null message codes and the NP bit set to logical zero while its link

    partner transmits valid Next Pages. Next page exchanges will occur if either the device or its link

    Partner sets the Next Page bit to logical one.

    Priority Resolution Table:

    Since a local device and a link partner may have multiple common abilities, a mechanism to

    resolve which mode to configure is required. The mechanism used by Auto Negotiation is a

    Priority Resolution function that predefines the hierarchy of supported technologies. The single

  • 14

    PHY enabled to connect to the MDI by Auto-Negotiation shall be the technology corresponding

    to the bit in the Technology Ability Field common to the local device and link partner that has

    the highest priority as defined in below Table 5.2.

    Table 5.2 Priority Resolution Table

    5.1.2 Duplex

    Duplex mismatch is the most common cause for network link problems outside of physical

    cabling or hardware failure. Duplex mismatches are caused by the inability of an auto

    negotiation device to predict the settings of a hard-coded device. Also in accordance with the

    IEEE specification the auto-negotiation device will connect with the Half-Duplex setting when

    the duplex setting of the other device cannot be determined.

    Parallel detection

    Parallel Detection is a part of the Auto Negotiation process when trying to establishing a link

    between two devices to the highest common Denominator. An Auto Negotiation Device

    Transmits Base page to broadcast its capabilities such as 10 Gbps Full Duplex. To be compatible

    with Devices that do not auto negotiate, Parallel detection was implemented as part of the

    standard. A Non-auto negotiating device will send an idle signal indicating the speed at which it

    operates. An auto negotiating device detect this idle go to half duplex and set its speed to

    match what was indicated in the idle signal.

  • 15

    Case 1: Interoperability with non-auto-negotiation 100 Base T

    The link partner can be a port on a 100 Mbps hub or a 10/100 Mbps switch configured for 100

    Mbps operation only. The NIC in the server is configured for auto-negotiation.

    Figure 5.6 Non-Auto Negotiation 100BaseT

    Communication between a non-auto-negotiation 100BaseT device and the NIC follows specific

    steps given below. The corresponding figure is shown in Figure 5.6.

    -> The DTE powers up in link fail mode and transmits FLPs.

    -> The 100BaseTX link partner powers up and sends idle symbols.

    -> The DTE parallel detection function detects the idle symbol, bypasses the auto

    Negotiation function, passes control to the 100BaseTX PMA, and transmits idle.

    ->A link is established at 100 Mbps half duplex.

    Case 2 : Interoperability with auto-negotiation 100BaseT (10/100)

    The link partner is a port on a 10/100 switch configured for auto negotiation. The NIC in the

    server is configured for auto-negotiation and capable of 10/100/1000 Mbps operation.

    Communication between auto-negotiation 100BaseT device and the NIC follows specific steps

    given below. The corresponding figure is shown in Figure 5.7.

  • 16

    ->Both devices power up in link fail mode and transmit FLPs.

    ->Each device receives and decodes the capabilities of the other.

    ->A link is established at 100 Mbps full duplex.

    Figure 5.7: Auto Negotiation 100BaseT

  • 17

    5.2 Interrupts

    In real time we send and receive lot of data through Ethernet. Any time we want to send data

    we need to get the attention of CPU. So in Post Silicon Validation After designing Ethernet

    Controller we are trying to validate the robustness of the Ethernet Controller by sending some

    traffic and manually setting interrupts from the Ethernet Controller. These interrupts enable

    the CPU in processing the data efficiently.

    Interrupt is a way of getting attention to the interrupting device from the Interrupted device

    An Interrupt is a hardware signal from a device to a CPU, informing the CPU that the needs

    attention and signaling that the CPU should stop current processing and responding to the

    device.

    If the CPU is performing a task that has lower priority then the priority of the interrupt, the CPU

    suspends its current thread. The CPU then invokes the interrupt handler for the device that sent

    the interrupt signal. The interrupt handler services the device and when the interrupt handler

    returns, the CPU resumes the processing it was doing, before the interrupt occurred.

    First we will see how devices do interrupts in a legacy PC.

    Figure 5.8 Older Way of Interrupts

    Legacy interrupts need Multi-step communication to execute an interrupt. The required steps

    need are as follows.

  • 18

    ->A device signals that it needs CPU service

    ->The Interrupt Controller signals the CPU

    ->The CPU responds with INTA

    ->INTA puts ID-number on system bus

    ->CPU uses ID-number to lookup IVT entry

    ->Interrupt handler executes Interrupt service routine and returns where it was

    interrupted.

    Improvement to be done for faster Interrupt handling

    Faster response to interrupts is possible if the old multi-step communication scheme can be

    replaced by a single-step protocol. Less expensive PCs can be manufactured if their total

    number of signal pins and the physical interconnections can be reduced. More devices can have

    their own private interrupt(s) if signal lines are not required so this brought the need for

    development of a new system for handling interrupts in a fast and efficient way. So MSI were

    developed for this. Message Signaling allows all the needed information to arrive in a single

    package, and go directly from a device to the CPU.

    Figure 5.9 New Way of handling interrupts

  • 19

    5.2.1 Introduction to MSI and Its Capabilities

    Message Signaled Interrupts (MSI) are an alternative in-band method of signaling an interrupt,

    using special in-band messages to replace traditional out-of-band assertion of dedicated

    interrupt lines. While more complex to implement in a device, message signaled interrupts

    have some significant advantages over pin-based out-of-band interrupt signaling Message

    signaled interrupts are supported in PCI bus since its version 2.2, and in later available PCI

    Express bus. Some non-PCI architectures also use message signaled interrupts. Traditionally, a

    device has an interrupt line (pin) which it asserts when it wants to signal an interrupt to the

    host processing environment. This traditional form of interrupt signaling is an out-of-band form

    of control signaling since it uses a dedicated path to send such control information, separately

    from the main data path. Message signaled interrupts are replacing those dedicated interrupt

    lines with in-band signaling, where special messages indicating interrupts are exchanged

    through the main data path.

    As an example, PCI Express does not have separate interrupt pins at all, and it uses special in

    band messages to allow it to emulate an interrupt pin assertion or de assertion. Message

    signaled interrupts allow the device to write a small amount of data to a special memory-

    mapped I/O address, the chipset then delivers the corresponding interrupt to a processor.

    A common misconception with Message Signaled Interrupts is that they allow the device to

    send data to a processor as part of the interrupt. The data that is sent as part of the write is

    used by the chipset to determine which interrupt to trigger on which processor. It is not

    available for the device to communicate additional information to the interrupt handler.

  • 20

    5.2.2 MSI Types

    PCI defines two optional extensions to support Message Signaled Interrupts.

    They are

    ->MSI

    ->MSI-X

    MSI:

    MSI permits a device to allocate 1, 2, 4, 8, 16 or 32 interrupts. The device is programmed with

    an address to write to (generally a control register in an interrupt controller), and a 16-bit data

    word to identify it. The interrupt number is added to the data word to identify the interrupt.

    Some platforms such as Windows do not use all 32 interrupts but only use up to 16 interrupts.

    Figure 5.10 shows how Ethernet traffic is distributed across single CPU in a single core system.

    Figure 5.10 Network Data Flow In a Single Core Processor

    MSI-X:

    MSI-X is an extension to MSI to enable support for more vectors and other advantages. MSI-X

    permits a device to allocate up to 2048 interrupts. The single address used by original MSI was

    found to be restrictive for some architectures. In particular, it made it difficult to target

    individual interrupts to different processors, which is helpful in some high-speed networking

  • 21

    applications. MSI-X allows a larger number of interrupts and gives each one a separate target

    address and data word. Devices with MSI-X do not necessarily support 2048 interrupts but at

    least 64 which is double the maximum MSI interrupts. Optional features in MSI (64-bit

    addressing and interrupt masking) are also mandatory with MSI-X.

    The ability to communicate efficiently between queues and particular processor cores is

    handled by MSI-X. MSI-X is the next generation of MSI, which passes interrupts to a single

    processor core. Conversely, MSI-X provides multiple interrupt vectors, which allow multiple

    interrupts to be handled simultaneously and load balanced across multiple cores. This

    improvement helps improve CPU utilization and lower latency.

    With an interrupt vector for each queue, the controller can handle multiple interrupts

    simultaneously, preventing the bottlenecks associated with guiding all interrupts through a

    single vector.

    Figure 5.11 shows how Ethernet traffic is distributed across CPU cores in a multi-core System.

    Figure 5.11 Network Data Flow In a Multi Core Processor

  • 22

    5.3 Power States

    In real time we switch ON and off the Ethernet Device by switching ON or OFF the Operating

    System number of times. So every time we switch ON the Computer Ethernet Link should come

    up. So in Post Silicon Validation After designing Ethernet Controller we are trying to manually

    change the Ethernet Device to ON and OFF state repetitively and in each state by running some

    link reliable tests such as Iperf we can validate the robustness of the controller. We will discuss

    the implementation of different power states below.

    Communication devices such as Ethernet net work devices often in corporate industry

    standards giving the devices the ability to be powered down to a sleep state or an off state by

    the operating system of the computer.

    Figure 5.12 Network Device Connected to Host Computer System Over PCI Bus

  • 23

    As shown in Figure 5.12, a communication arrangement 10 includes a host computer

    system(12) and a network device(16), e.g., a Gigabit Ethernet device, that both interface with a

    Peripheral Component Interconnect (PCI) bus 14. The host computer system 12 executes an

    operating system 12a stored on a computer readable medium (not shown) and loaded into

    resident memory (not shown) when the host computer system 12 boots up. The operating

    system 12a controls functions of the host computer system 12 and could cause the host

    computer system 12 or the network device 16 to enter a sleep or low power state. The host

    computer system includes a main power supply 12b and an auxiliary power supply 12c. The

    network device 16 includes a physical layer interface 18 that interfaces with a physical network

    link 20.

    Figure 5.13 Gigabit Ethernet Device with an Integral Physical Layer Interface

  • 24

    Referring to Figure 5.13, a Gigabit Ethernet device 16 inter faces with a PCI bus 14 and a

    physical network link 20. The Gigabit Ethernet device 16 includes a Media Access Control (MAC)

    subsystem 30 and an electrically powered physical layer interface (18). The MAC subsystem (30)

    includes a PCI Bus Interface (32), a Direct Memory Access (DMA) Controller(36), and a Media

    Access Controller (MAC) 38. The PCI Bus Interface 32 includes a 16-bit Power Management

    Control/Status (PMCS) Register 34 which includes a two-bit Power State field (not shown) used

    both to determine the current power state of the device 16 by the operating system 12a and to

    permit the operating system 12a to set the device 16 to a different power management state in

    accordance with the definitions provided in Table 5.3.

    Bit Value

    Power Management

    state of Device

    Definition

    00 D0 Device 16 is on and running. It is receiving full power

    from the host computer 12 and is delivering full

    functionality to the user

    11 D3 Device 16 is OFF

    Table 5.3 Table showing the basic Power management states of Ethernet Device

  • 25

    Figure 5.14 Power Management State Transitions of Gigabit Ethernet Device

    Referring to Figure 5.14, a power management state transition of the Gigabit Ethernet device

    16 depicted in Figure 2 is shown. The Gigabit Ethernet device 16 has three power management

    states, D0 Active (52), D0 Uninitialized (54) and D3 (58) and they are generally defined in Table

    5.4.

    Power Management

    state of Device Definition

    D0 Active Device 16 is on and running and is delivering

    full functionality and performance to the user

    D0 Uninitialized Device 16 is powering up and awaiting

    initialisation by BIOS

    D3 Device 16 is OFF

    Table 5.4 Table Showing the Power management states of Ethernet Device

  • 26

    D0 Active (52) and D0 Uninitialized (54) are subsets of the ACPI Specification 2.0 power

    management state D0. Additionally, the Gigabit Ethernet devices 16 power management state

    D3 (58) includes the D3 hot state, which means that the Gigabit Ethernet device 16 can be

    transitioned to the D0 Uninitialized (54) state via software by writing 00 to the devices 16

    Power Management Control/Status register 34 or by having the PCI reset signal asserted. The

    Gigabit Ethernet device 16 power management state D3 (58) also includes the D3 Cold power

    management state, which means that the Gigabit Ethernet device 16 is transitioned to a D0

    Uninitialized state (54) by re applying the main power supply, 12b and de asserting the PCI

    reset signal. However, other embodiments may only support the D3 Cold power management

    state or the D3 hot power management state.

    The Gigabit Ethernet device 16 may transition to a different power management state as a

    result of the operating system 12a or Basic Input/output System (BIOS) directing a power

    management state change (60, 62, 64). For example, if the Gigabit Ethernet device 16 is up and

    running in the D0 Active state (52) and the operating system 12a writes 11 to the Power State

    field in the Power Management Control/Status Register (62), the device 16 transitions to state

    D3(58). Similarly, if the device 16 is in power management state D3 (58) and the operating

    system 12a writes 00 to the Power State field in the Power Management Control/Status

    Register (62), the device 16 transitions to state D0 Uninitialized (54). The device 16 also

    transitions from D0 Uninitialized (54) to the D0 Active (52) when the BIOS writes a 1 to the

    memory access enable bit (64) of a PCI command register (not shown) on the PCI interface 32.

    In addition to changing power management states as a result of direction from the operating

    system (60, 62) or BIOS (64), the Gigabit Ethernet device 16 also automatically changes power

    management states upon detecting an assertion or de assertion of the PCI reset signal (66, 68)

    or an assertion of the chip reset signal (71). An assertion of a PCI reset signal (PCI RST) occurs

    shortly before the host computer system 12 transitions from its main power supply 12b to its

    auxiliary power supply 12c.

  • 27

    The PCI bus interface 32 is configured to monitor the PCI reset signal on the PCI bus 14. If an

    assertion of the PCI reset signal (PCI RST) is detected (66), the MAC subsystem 30 automatically

    reverts the device 16 to a reset power state, D Reset (56).

    The device 16 remains in state D Reset (56) until the PCI interface 32 senses a de assertion of

    the PCI reset signal (68), Which causes the MAC subsystem 30 to transition the device 16 to the

    D0 Uninitialized state (54). The device 16 is also in the D Reset state (56) When it receives a chip

    reset signal (LAN PWR GOOD assertion)(71) the first time the host computer system 12 receives

    power after power down of both the main 12b and auxiliary 12c power supplies.

    6. Conclusion

    Harassers such as Auto Negotiation, Interrupts, Change in Power states are introduced in to the

    Giga Bit Ethernet controller in Post silicon server validation for validating the Functionality of

    Giga Bit Ethernet and stress the Gigabit Ethernet Controller and validated the robustness of the

    controller by monitoring its behavior under prolonged stressful tests.

  • 28

    REFERENCES

    [1] S. Mitra, S. A. Seshia, and N. Nicolici, \Post-silicon validation opportunities, challenges and

    recent advances," in Design Automation Conference (DAC), 2010 47th ACM/IEEE. IEEE, 2010, pp.

    12-17.

    [2] S. M. Balabatti and R. Radha, Calculation of ecrc for tlp-packets of pcie protocol."

    [3] I. Crayford, fast ether net" gets plug-and-play," in WESCON'95. Conference record.'Microelectronics Communications Technology Producing Quality Products Mobile and Portable Power Emerging Technologies'. IEEE, 1995, p. 354.[4] D. C. Chalupsky, G. V. Gritton, and T. L. Stachura, \Automatic power down," Nov. 8 2005, us

    Patent 6,963,985.

    [5] B. H. Leitao, Tuning 10gb network cards on linux," in Proceedings of the 2009 LinuxSymposium, 2009.


Recommended