Inventors list

Assignees list

Classification tree browser

Top 100 Inventors

Top 100 Assignees


Allison, MN

Brian D. Allison, Rochester, MN US

Patent application numberDescriptionPublished
20080244189Method, Apparatus, System and Program Product Supporting Directory-Assisted Speculative Snoop Probe With Concurrent Memory Access - A multiprocessor data processing system includes a memory controller controlling access to a memory subsystem, multiple processor buses coupled to the memory controller, and at least one of multiple processors coupled to each processor bus. In response to receiving a first read request of a first processor via a first processor bus, the memory controller initiates a speculative access to the memory subsystem and a lookup of the target address in a central coherence directory. In response to the central coherence directory indicating that a copy of the target memory block is cached by a second processor, the memory controller transmits a second read request for the target address on a second processor bus. In response to receiving a clean snoop response to the second read request, the memory controller provides to the first processor the target memory block retrieved from the memory subsystem by the speculative access.10-02-2008
20080301376Method, Apparatus, and System Supporting Improved DMA Writes - A memory controller receives a stream of DMA write operations and enqueues them in a queue enforcing a First-In First-Out (FIFO) order. Prior to processing a particular DMA write operation, the memory controller acquires coherency ownership of a target memory block and stores the result in a low latency array. In response to acquiring coherency ownership, this low latency array is updated to a coherency state signifying coherency ownership by the memory controller. In a pipelined array access, both the low latency array and the second array are accessed and if the lower latency second array indicates the particular coherency state with no collision indication, the memory controller signals that the particular DMA write operation can be performed, where the signaling occurs prior to results being obtained from the higher latency first array at the normal end of the array access pipeline. In response to the signaling, the memory controller performs an update to the memory subsystem indicated by the particular DMA write operation.12-04-2008
20090119478Memory 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
20090268727Early header CRC in data response packets with variable gap count - A method is provided for processing a command issued by a processor over a bus. The method includes (10-29-2009
20090268736Early header CRC in data response packets with variable gap count - A method is provided for processing commands issued by a processor over a bus. The method includes the steps of (1) transmitting the command to a remote node to obtain access to data required to complete the command; (2) receiving from the remote node a response packet including a header and a header CRC; (3) validating the response packet based on the header CRC; and (4) before receiving the data required to complete the command, arranging to return the data to the processor over the bus.10-29-2009
20090271532Early header CRC in data response packets with variable gap count - A method is provided for processing a command issued by a processor over a bus. The method includes (10-29-2009
20090307523System 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

Patent applications by Brian D. Allison, Rochester, MN US

Brian David Allison, Rochester, MN US

Patent application numberDescriptionPublished
20080271054Computer System, Computer Program Product, and Method for Implementing Dynamic Physical Memory Reallocation - A computer system, computer program product, and method implement dynamic physical memory reallocation. A system management interface (SMI) Handler and an Operating System (OS) are arranged for exchanging communications. Periodically the SMI Handler queries the operating system to identify a percentage of available memory currently being utilized. Responsive to the identified percentage of available memory currently being utilized, physical memory is dynamically reallocated.10-30-2008
20090019238Memory Controller Read Queue Dynamic Optimization of Command Selection - A memory controller receives read requests from a processor into a read queue. The memory controller dynamically modifies an order of servicing the requests based on how many pending requests are in the read queue. When the read queue is relatively empty, requests are serviced oldest first to minimize latency. When the read queue becomes fuller, requests are serviced in a manner that maximizes throughput on a memory bus to reduce the likelihood that the read queue will become full and further requests from the processor would have to be halted.01-15-2009
20090019239Memory Controller Granular Read Queue Dynamic Optimization of Command Selection - A memory controller receives read requests from a processor into a read queue. The memory controller dynamically modifies an order of servicing the requests based on how many pending requests are in the read queue. When the read queue is relatively empty, requests are serviced oldest first to minimize latency. When the read queue becomes progressively fuller, requests are progressively, using three or more memory access modes, serviced in a manner that increases throughput on a memory bus to reduce the likelihood that the read queue will become full and further requests from the processor would have to be halted.01-15-2009
20090070647Scheduling of Background Scrub Commands to Reduce High Workload Memory Request Latency - A method and apparatus to scrub a memory during a scrub period, of a computer system. The computer system has a memory controller that receives read requests and write requests from a processor. The memory controller provides a different priority for scrub requests versus read requests during a period of relatively light memory workload versus a period of relatively heavy workload. The memory controller provides a relatively higher priority for scrub requests near an end of a scrub period if scrub progress is behind an expected scrub progress.03-12-2009
20090070648Efficient Scheduling of Background Scrub Commands - A method and apparatus to efficiently scrub a memory, during a scrub period, of a computer system that has a memory comprising a number of memory elements. Examples of memory elements are memory ranks and banks. A memory rank may further comprise one or more banks. The computer system has a memory controller that receives read requests and write requests from a processor. The memory controller includes a scrub controller configured to output more than one scrub request during a particular request selector cycle. The memory controller includes a request selector that services a read request, a write request, or one of the scrub requests during a request selector cycle.03-12-2009
20090216959Multi Port Memory Controller Queuing - The present invention is generally directed to a method, system, and program product wherein at least one command in a first queue is transferred to a second queue. When the first queue can no longer accept command(s) and a second queue is able to accept command(s), the second queue accepts the command(s) that the first queue can not. When the first queue is able to accept command(s), and there are command(s) in the second memory port that should have been in the first queue, the command(s) in the second queue are transferred to the first queue.08-27-2009
20090216960Multi Port Memory Controller Queuing - The present invention is generally directed to a method, system, and program product wherein at least two memory ports associated within a memory controller are capable of transferring commands between one another in unbalanced memory configurations. When the first memory port can no longer accept commands and a second memory port is able to accept commands, the second memory port accepts the commands that the first memory port can not. When the first memory port is able to accept commands, and there are commands in the second memory port that should have been in the first memory port, the commands in the second memory port are transferred to the first memory port.08-27-2009

Damon R. Allison, Maple Grove, MN US

Patent application numberDescriptionPublished
20110040660Monitoring And Management Of Lost Product - A waste monitoring system includes a portable device to monitor product wastage. The portable device includes a processor and a memory in communication with the processor. The memory stores processor-executable instructions that, when executed by the processor, cause the processor to control operation of the portable device to generate a graphical user interface (GUI) to collect quantity data relating to respective quantities of a plurality of types of wasted products, and to calculate cost data as a function of the quantity data. A display device displays the GUI. A server is in communication with the portable device and is configured to receive the quantity data and the cost data from the portable device. A computing device is in communication with server and is configured to receive the quantity data and the cost data from the server and to display at least one of the quantity data and the cost data.02-17-2011

Scott Todd Allison, Brooklyn Park, MN US

Patent application numberDescriptionPublished
20110123969REFUSAL SKILLS TRAINING EDUCATIONAL TOOL AND METHOD OF PRACTICING REFUSAL SKILLS - A portable refusal skills training educational tool including an interactive electronic system within an enclosure, and method practicing refusal skills employing the educational tool. The interactive electronic system includes (i) a means within the enclosure for periodically generating a perceptible proposal to participate in addictive behavior, (ii) a speech recognition system effective for receiving and identifying a verbal refusal statement spoken in response to a generated proposal, and (iii) a reporting mechanism. The reporting mechanism includes at least one of (A) a means for reiterating perceptible proposals to participate in addictive behavior until the verbal refusal statement is received and identified in response to a proposal, (B) a means for generating a perceptible positive-reinforcement signal when the verbal refusal statement is received and identified in response to a proposal, and (C) a means for recording data useful in evaluating responses to proposals.05-26-2011

Tylor Allison, Stillwater, MN US

Patent application numberDescriptionPublished
20090222466AUTOMATED COMPUTING APPLIANCE CLONING OR MIGRATION - A system and method for automatically cloning or migrating a computing appliance while maintaining its operational state. A configuration bundle that includes configuration data, software revision level and a list of system updates is used to recover or duplicate a device's operation state. The system and method can also be utilized to migrate a computing appliance between different operating system while maintaining or replicating the previous operational state.09-03-2009