Patent application number | Description | Published |
20090089554 | METHOD FOR TUNING CHIPSET PARAMETERS TO ACHIEVE OPTIMAL PERFORMANCE UNDER VARYING WORKLOAD TYPES - A method, system, and computer program product for tuning a set of chipset parameters to achieve optimal chipset performance under varying workload characteristics. A set of workload characteristics of a current workload type is determined. An instruction stream is generated using weighted parameters derived from the set of workload characteristics of the current workload type. A set of chipset parameters is generated and integrated within the instruction stream. The instruction stream is loaded to one or more processors and executed to collect and analyze performance data relating to the chipset's performance. The analysis includes comparing the set of performance data of a plurality of different instruction streams having the same set of workload characteristics. Each executed instruction stream is executed with at least one different combination of chipset parameters. A determination is made regarding which combination of chipset parameters provides the best performance data for the current workload. | 04-02-2009 |
20090100229 | Method for Increasing Cache Directory Associativity Classes in a System With a Register Space Memory - In a method of managing a cache directory in a memory system, an original system address is presented to the cache directory when corresponding associativity data is allocated to an associativity class in the cache directory. The original system address is normalized by removing address space corresponding to a memory hole, thereby generating a normalized address. The normalized address is stored in the cache directory. The normalized address is de-normalized, thereby generating a de-normalized address, when the associativity data is cast out of the cache directory to make room for new associativity data. The de-normalized address is sent to the memory system for coherency management. | 04-16-2009 |
20090119478 | Memory Controller and Method for Multi-Path Address Translation in Non-Uniform Memory Configurations - In a method of translating a physical memory address to a device address in a device memory space, a fast address translate of the physical memory address, adapted to translate addresses in uniformly configured device memory space, is performed thereby generating a first translated address. A full address translate of the physical memory address, adapted to translate addresses in non-uniformly configured device memory space, is also performed thereby generating a second translated address. Boundaries of a uniform portion of the device memory space are identified, to which the physical memory address is compared to determine if the physical memory address is in the uniform portion of the device memory space. When the physical memory address is in the uniform portion, the first translated address is selected as the device address. Otherwise, the second translated address is selected. | 05-07-2009 |
20090193199 | Method for Increasing Cache Directory Associativity Classes Via Efficient Tag Bit Reclaimation - In a method of generating a cache directory to include a plurality of associativity classes, each associativity class includes an address tag including a plurality of address bits. Each address tag is configured to store a unique address to a specific location in an memory space. An amount of memory that is in an actually configured portion of the memory space is determined. A minimum number of bits necessary to address each memory location in the actually configured portion of the memory space is determined. Each address tag is configured in each associativity class to include the minimum number of bits necessary to address each memory location in the actually configured portion of the memory space. The cache directory is configured to include a maximum number of associativity classes per line in the cache directory. | 07-30-2009 |
20090307443 | Flexible and Efficient Configuration of Multiple Common Interfaces - In a system for communicating data from a processor to a plurality of register groupings that includes a plurality of registers and a plurality of register decoding logic entities, each register is associated with one of the plurality of register groupings. The plurality of register decoding logic entities is arranged in a data communication ring and is assigned to a register grouping. Each register decoding logic entity is configured to: receive a data packet that includes a data unit intended for a set of the registers in communication with the register decoding logic entity; write the data unit to each of the set of registers; determine if the register decoding logic entity is set to a relay mode; and if the register decoding logic entity is set to the relay mode, then update the data packet to reflect an address corresponding to a next register decoding logic entity in the data communication ring and then transmit the data packet to the next register decoding logic entity for which the data packet is intended. | 12-10-2009 |
20090307523 | System Performance Through Invalidation of Speculative Memory Scrub Commands - A memory controller and a method for improved computer system performance invalidates (i.e., cancels or does not allow for execution of) speculative or unnecessary scrub write commands as part of the periodic execution of the overall scrub command upon the occurrence of certain events, such as if the error checking and correction (ECC) operation indicates that the data were received without error or if the ECC operation indicates that the data received have an uncorrectable error. | 12-10-2009 |
20100037122 | Memory Controller for Reducing Time to Initialize Main Memory - In a method of initializing a computer memory that receives data from a plurality of redrive buffers, a predetermined data pattern of a selected set of data patterns is stored in selected redrive buffers of the plurality of redrive buffers. Each of the selected set of data patterns includes a first initialization data pattern and an error correcting code pattern that is a product of a logical function that operates on the first initialization data pattern and an address in the computer memory. The selected set of data patterns includes each possible value of error correcting code pattern. A redrive buffer of the plurality of redrive buffers that has stored therein an error correcting code pattern that corresponds to the selected address is selected when sending an first initialization data pattern to a selected address. The selected redrive buffer is instructed to write to the selected address the first initialization data pattern and the error correcting code pattern that corresponds to the selected address. | 02-11-2010 |
20100205383 | Memory Controller for Improved Read Port Selection in a Memory Mirrored System - The present invention describes improving the scheduling of read commands on a mirrored memory computer system by utilizing information about pending memory access requests. A conflict queue is configured to track a read/write queue associated with each of a plurality of memory ports on the mirrored memory system. The conflict queue determines a predicted latency on each memory port based on the contents of each of the read/write queues. A compare logic unit is coupled to the conflict queue, wherein the compare logic unit compares a predicted latency of a primary memory and a mirrored memory and schedules read commands to the memory port with the lowest predicted latency. | 08-12-2010 |
20110047400 | Systems and Methods to Efficiently Schedule Commands at a Memory Controller - Systems and methods to respond to schedule commands at a memory controller are disclosed. A transmission error between a first memory controller port and a first redrive device may be detected. A first corrective action may be initiated at the first memory controller port in response to the detection of the transmission error. A particular method may include determining that a second memory controller port initiated a second corrective action. Incoming read commands may be distributed based on a comparison of the first corrective action and the second corrective action. | 02-24-2011 |
20110047440 | Systems and Methods to Respond to Error Detection - Systems and methods to respond to error detection are provided. First data may be received at a first memory controller port in response to a read command issued from the first memory controller port. The read command may be issued as a second read command from a second memory controller port after determining that the first data contains a first uncorrectable error. Second data may be received at the second memory controller port in response to the second read command. A repair write command may be issued from the first memory controller port after determining that the second data does not contain any errors. The repair write command may initiate writing the second data from the first memory controller port. | 02-24-2011 |
20110066921 | System and Method for Responding to Error Detection - Systems and methods to respond to error detection are provided. A particular method may include issuing a first command to a first redrive device and a second command to a second redrive device. The method may also include reissuing the second command to the second redrive device in response to detecting a transmission error between a memory controller and the second redrive device. The method may further include storing at a first buffer first data that is received from the first redrive device in response to the first command. The method may include storing at a second buffer second data that is received from the second redrive device in response to the reissued second command. The method also may include merging the second data with the first data. | 03-17-2011 |
20110225465 | Managing Memory Refreshes - Systems and methods to manage memory refreshes at a memory controller are disclosed. A method includes determining, at a memory controller device, that a number of transmission errors between a memory controller port and a memory redrive device exceeds an error threshold. The method may include initiating a first link retraining process between the memory controller port and the memory redrive device. The method may further include placing one or more dynamic random access memory modules associated with the memory redrive device in a self-refresh mode. The method may also include removing the one or more dynamic random access memory modules from the self-refresh mode after the link retraining process has completed. The method may further include enabling overlapping refreshes of the one or more dynamic random access memory modules. | 09-15-2011 |
20120023368 | Compressed Replay Buffer - A compressed replay buffer in a first electronic unit of an electronic system holds commands in a table. As commands are transmitted from the first electronic unit to a second electronic unit, the command, along with associated data, command type, and the like are stored in a row in the table. No rows in the table contain “dead cycles” to indicate that no command was sent on a particular cycle on a bus over which the commands were transmitted. The second electronic unit may request that the first electronic unit replay some number of commands. In response, the first electronic unit uses commands in the compressed replay buffer, along with required timings stored on the first electronic unit, to replay the number of commands requested. | 01-26-2012 |
20140201476 | EVENT-BASED EXECUTION BUFFER MANAGEMENT - Techniques for reacting to events in a switch module. Embodiments provide a plurality of predefined load/store operations stored in a first memory buffer of the switch module. An execution buffer capable of storing load/store operations within the switch module is also provided. Responsive to detecting that a first predefined event has occurred, embodiments copy the plurality of predefined load/store operations from the first memory buffer to the execution buffer for execution. Upon detecting the plurality of predefined load/store operations within the execution buffer, the plurality of predefined load/store operations within the execution buffer are executed. | 07-17-2014 |
20140201488 | EVENT-BASED EXECUTION BUFFER MANAGEMENT - Techniques for reacting to events in a switch module. Embodiments provide a plurality of predefined load/store operations stored in a first memory buffer of the switch module. An execution buffer capable of storing load/store operations within the switch module is also provided. Responsive to detecting that a first predefined event has occurred, embodiments copy the plurality of predefined load/store operations from the first memory buffer to the execution buffer for execution. Upon detecting the plurality of predefined load/store operations within the execution buffer, the plurality of predefined load/store operations within the execution buffer are executed. | 07-17-2014 |
20140233566 | DIRECTED ROUTE LOAD/STORE PACKETS FOR DISTRIBUTED SWITCH INITIALIZATION - Techniques are described for transmitting a packet from a source switch module to a destination switch module. Embodiments include receiving, at a first switch module, a packet that includes (i) an ordered listing of Ethernet link identifiers, specifying a path to the destination switch module and (ii) payload data to be processed at the destination switch module. Embodiments determine that the first switch module is not a destination of the packet, based on the ordered listing of Ethernet link identifiers. Additionally, an Ethernet port of the first switch module on which to transmit the packet is determined based on the ordered listing of Ethernet link identifiers. Embodiments then transmit the packet to a second switch module using the determined Ethernet port of the first switch module. | 08-21-2014 |
20140233578 | DIRECTED ROUTE LOAD/STORE PACKETS FOR DISTRIBUTED SWITCH INITIALIZATION - Techniques are described for transmitting a packet from a source switch module to a destination switch module. Embodiments include determining, at the destination switch module, a path from the source switch module to the destination switch module. Path information specifying the determined path from the source switch module to the destination switch module is transmitted from the destination switch module to the source switch module. Additionally, embodiments include receiving, at the destination switch module, from the source switch module, a packet that includes (i) at least a portion of the path information and (ii) payload data to be processed at the destination switch module, wherein the packet was routed using the at least a portion of the path information. The payload data within the received packet is processing by the destination switch module. | 08-21-2014 |
20140233579 | DIRECTED ROUTE LOAD/STORE PACKETS FOR DISTRIBUTED SWITCH INITIALIZATION - Techniques are described for transmitting a packet from a source switch module to a destination switch module. Embodiments receive, at the source switch module, from the destination switch module, path information specifying a path from the source switch module to the destination switch module. Upon detecting an occurrence of a predefined event, a packet is generated that includes (i) the received path information and (ii) payload data to be processed at the destination switch module. Embodiments determine an Ethernet port of the source switch module on which to transmit the packet, based on the received path information. The packet is transmitted to a second switch module using the determined Ethernet port. | 08-21-2014 |
20140269692 | DIRECTED ROUTE LOAD/STORE PACKETS FOR DISTRIBUTED SWITCH INITIALIZATION - Techniques for transmitting a packet from a source switch module to a destination switch module. Embodiments retrieve path information specifying a route to the destination switch module. A packet is created that includes (i) at least a portion of the path information and (ii) a set of load/store operations to be executed by the destination switch module. Embodiments then transmit the packet to a first switch module using a first port, the first port specified in the retrieved path information. The first switch module is configured to transmit the packet based on the at least a portion of the path information in the packet, and the destination switch module is configured, upon receiving the packet, to copy the set of load/store operations into an execution buffer to be automatically executed. | 09-18-2014 |
20140269693 | DIRECTED ROUTE LOAD/STORE PACKETS FOR DISTRIBUTED SWITCH INITIALIZATION - Techniques for transmitting a packet from a source switch module to a destination switch module. Embodiments receive, at a first port of a first switch module, a packet that includes (i) path information specifying a route to the destination switch module and (ii) a set of load/store operations to be executed by the destination switch module. An indication of the first port is inserted into a return path information portion of the received packet. Upon determining that the first switch module is not the destination switch module, embodiments transmit the packet to a second switch module using a second port, the second port specified in the path information of the received packet, wherein the destination switch module is configured, upon receiving the packet, to copy the set of load/store operations into an execution buffer to be automatically executed. | 09-18-2014 |
20140269694 | DIRECTED ROUTE LOAD/STORE PACKETS FOR DISTRIBUTED SWITCH INITIALIZATION - Techniques for transmitting a packet from a source switch module to a destination switch module. Embodiments receive, at a first port of a first switch module, a packet that includes (i) path information specifying a route to the destination switch module, (ii) a set of load/store operations to be executed by the destination switch module and (iii) return path information specifying a route from the destination switch module to the source switch module. Upon determining that the first switch module is the destination switch module, the set of load/store operations are copied from the received packet into an execution buffer for automatic execution. Once the set of load/store operations are executed, embodiments transmit the packet to a second switch module using the first port on which the packet was received. | 09-18-2014 |
20150036691 | EFFICIENCY OF DATA PAYLOADS TO DATA ARRAYS ACCESSED THROUGH REGISTERS IN A DISTRIBUTED VIRTUAL BRIDGE - A system and method for efficient transfer of data in a data from a controlling bridge to a register of a distributed bridge element. A Load Store over Ethernet (LSoE) frame processing engine (FPE) is equipped with a repeat and a repeat with strobe function that, when coupled with an auto-increment function of an indirect register facility, allows a distributed virtual bridge to move data payload more efficiently which decreases the data loading on the computers data paths used for other data transfers. | 02-05-2015 |
20150036692 | INCREASED EFFICIENCY OF DATA PAYLOADS TO DATA ARRAYS ACCESSED THROUGH REGISTERS IN A DISTRIBUTED VIRTUAL BRIDGE - A system and method for efficient transfer of data from a controlling bridge to a register of a distributed bridge element. A Load Store over Ethernet (LSoE) frame processing engine (FPE) is equipped with a repeat and a repeat with strobe function that, when coupled with an auto-increment function of an indirect register facility, allows a distributed virtual bridge to move data payload more efficiently which decreases the data loading on the computers data paths used for other data transfers. | 02-05-2015 |