Patents by Inventor Joseph Allen Kirscht
Joseph Allen Kirscht has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 8549217Abstract: A periodic command spacing mechanism is provided for spacing periodic commands (e.g., refresh commands, ZQ calibration, etc.) to a volatile memory (e.g., SDRAM, DRAM, EDRAM, etc.) for increased performance and decreased collision. In one embodiment, periodic command requests are monitored and if a collision is detected between two or more of the requests, the colliding requests are spaced with respect to one another by a timer offset applied on a chip select basis. The periodic command spacing mechanism may be used in conjunction with command arbitration to make sure the periodic commands are executed without significantly impacting performance (e.g., Reads and Writes are allowed to flow). Preferably, the periodic command requests are initialized by generating an initial sequence of individual requests, each successive request in the initial sequence being generated spaced apart with respect to the previous request by a timer offset applied on a chip select basis.Type: GrantFiled: November 17, 2009Date of Patent: October 1, 2013Assignee: International Business Machines CorporationInventors: Herman Lee Blackmon, Ronald Ernest Freking, Ryan Scott Haraden, Joseph Allen Kirscht
-
Patent number: 8245009Abstract: Memory is logically partitioned into two regions. A first region may be a similar size relative to the second region or the first region may be a small subset of the memory. The first region of memory is initialized and an operating system utilizes the first region. A system handler simulates a physical hot add of the second region. After the simulated physical hot add, the operating system may utilize the second region as if it were newly added physical memory and/or may utilize both the first region and second region.Type: GrantFiled: June 16, 2011Date of Patent: August 14, 2012Assignee: International Business Machines CorporationInventors: Joseph Allen Kirscht, Sumeet Kochar, Barry Alan Kritt, William Bradley Schwartz
-
Patent number: 8140937Abstract: A method and apparatus to improve memory initialization in a memory of a computer system. Memory units in the memory comprise a plurality of ranks, each rank having a unique rank select. A parity generator outputs a parity bit corresponding to whether an encoded rank select has an even or odd number of “1”s. The parity bit is used by an Error Checking and Correcting (ECC) unit that generates ECC bits that are stored in a rank having an active rank select. During a first interval in a memory initialization period, ranks having an even number of “1”s in their encoded rank select are initialized in parallel. During a second interval in the memory initialization period, ranks having an odd number of “1”s in their encoded rank select are initialized in parallel.Type: GrantFiled: January 4, 2008Date of Patent: March 20, 2012Assignee: International Business Machines CorporationInventors: Shiva R. Dasari, Sudhir Dhawan, Joseph Allen Kirscht, Jennifer L. Vargus
-
Patent number: 8103930Abstract: A method, and apparatus are provided for implementing processor bus speculative data completion in a computer system. A memory controller in the computer system sends uncorrected data from a memory to a processor bus. The memory controller also applies the uncorrected data to error correcting code (ECC) checking and correcting circuit. When a single bit error (SBE) is detected, corrected data is sent to the processor bus a predefined number of cycles after the uncorrected data.Type: GrantFiled: May 27, 2008Date of Patent: January 24, 2012Assignee: International Business Machines CorporationInventors: Wayne Melvin Barrett, Philip Rogers Hillier, III, Joseph Allen Kirscht, Elizabeth A. McGlone
-
Patent number: 8082396Abstract: A method, apparatus, system, and signal-bearing medium that, in an embodiment, select a command to send to memory. In an embodiment, the oldest command in a write queue that does not collide with a conflict queue is sent to memory and added to the conflict queue if some or all of the following are true: all of the commands in the read queue collide with the conflict queue, any read command incoming from the processor does not collide with the write queue, the number of commands in the write queue is greater than a first threshold, and all commands in the conflict queue have been present for less than a second threshold. In an embodiment, a command does not collide with a queue if the command does not access the same cache line in memory as the commands in the queue. In this way, in an embodiment, write commands are sent to the memory at a time that reduces the impact on the performance of read commands.Type: GrantFiled: April 28, 2005Date of Patent: December 20, 2011Assignee: International Business Machines CorporationInventors: Herman Lee Blackmon, Philip Rogers Hillier, III, Joseph Allen Kirscht, Brian T. Vanderpool
-
Publication number: 20110246744Abstract: Memory is logically partitioned into two regions. A first region may be a similar size relative to the second region or the first region may be a small subset of the memory. The first region of memory is initialized and an operating system utilizes the first region. A system handler simulates a physical hot add of the second region. After the simulated physical hot add, the operating system may utilize the second region as if it were newly added physical memory and/or may utilize both the first region and second region.Type: ApplicationFiled: June 16, 2011Publication date: October 6, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Joseph Allen Kirscht, Sumeet Kochar, Barry Alan Kritt, William Bradley Schwartz
-
Patent number: 8001354Abstract: 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.Type: GrantFiled: April 27, 2007Date of Patent: August 16, 2011Assignee: International Business Machines CorporationInventors: Brian David Allison, Joseph Allen Kirscht, Elizabeth A. McGlone
-
Patent number: 7987336Abstract: This invention generally provides a method for speeding up system boot time, by initializing a subset of memory during the system firmware test/initialization, and allowing the system to boot an operating system with this subset of installed memory. While the system is completing the operating system boot with the subset of installed memory, a remainder of the installed system memory is being initialized/tested. When the initialization the remainder of system memory is completed (and after the OS has booted), the SMI handler is invoked. The SMI handler then simulates a physical memory “Hot Add” event, and reports the event to the OS. This allows much of the memory initialization/test activity to occur in parallel with the firmware initialization/test and operating system startup processes.Type: GrantFiled: May 14, 2008Date of Patent: July 26, 2011Assignee: International Business Machines CorporationInventors: Joseph Allen Kirscht, Sumeet Kochar, Barry Alan Kritt, William Bradley Schwartz
-
Patent number: 7984357Abstract: A memory controller and methods implement minimized latency and maximized reliability when data traverses multiple buses. The memory controller includes a dynamic random access memory (DRAM) error correcting code (ECC) checking and correcting circuit and a high speed bus (HSB) ECC checking and correcting circuit. In a first mode for implementing minimized latency, read data is applied directly to the DRAM ECC checking and correcting circuit, bypassing the HSB ECC checking and correcting circuit. In a second mode for implementing maximized reliability, the read data is applied through the HSB ECC checking and correcting circuit to the DRAM ECC checking and correcting circuit.Type: GrantFiled: April 27, 2007Date of Patent: July 19, 2011Assignee: International Business Machines CorporationInventors: Joseph Allen Kirscht, Elizabeth A. McGlone
-
Patent number: 7970980Abstract: A computer system includes at least one processor, multiple memory modules embodying a main memory, a communications medium for communicating data between the at least one processor and main memory, and memory access control logic which controls the routing of data and access to memory. The communications medium and memory access control logic are designed to accommodate a heterogenous collection of main memory configurations, in which at least one physical parameter is variable for different configurations. The bits of the memory address are mapped to actual memory locations by assigning fixed bit positions to the most critical physical parameters across multiple different module types, and assigning remaining non-contiguous bit positions to less critical physical parameters. In the preferred embodiment, the computer system employs a distributed memory architecture.Type: GrantFiled: December 15, 2004Date of Patent: June 28, 2011Assignee: International Business Machines CorporationInventors: Philip Rogers Hillier, III, Joseph Allen Kirscht, Jamie Randall Kuesel
-
Patent number: 7949836Abstract: A memory controller performs a mirror copy function in a way that allows processor accesses to memory to continue during the mirror copy operations that make up the mirror copy function. Data integrity of mirror copy operations is assured by protocols set up in the memory controller. The result is a memory controller that performs a mirror copy function in a way that allows normal processor accesses to memory to be interleaved with mirror copy operations, thereby minimizing the impact on system performance of executing the mirror copy function.Type: GrantFiled: June 10, 2004Date of Patent: May 24, 2011Assignee: International Business Machines CorporationInventors: Philip Rogers Hillier, III, Joseph Allen Kirscht, Elizabeth A. McGlone
-
Publication number: 20110119439Abstract: A periodic command spacing mechanism is provided for spacing periodic commands (e.g., refresh commands, ZQ calibration, etc.) to a volatile memory (e.g., SDRAM, DRAM, EDRAM, etc.) for increased performance and decreased collision. In one embodiment, periodic command requests are monitored and if a collision is detected between two or more of the requests, the colliding requests are spaced with respect to one another by a timer offset applied on a chip select basis. The periodic command spacing mechanism may be used in conjunction with command arbitration to make sure the periodic commands are executed without significantly impacting performance (e.g., Reads and Writes are allowed to flow). Preferably, the periodic command requests are initialized by generating an initial sequence of individual requests, each successive request in the initial sequence being generated spaced apart with respect to the previous request by a timer offset applied on a chip select basis.Type: ApplicationFiled: November 17, 2009Publication date: May 19, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Herman Lee Blackmon, Ronald Ernest Freking, Ryan Scott Haraden, Joseph Allen Kirscht
-
Patent number: 7908443Abstract: A memory controller optimizes execution of a read/modify/write command by breaking the RMW command into separate and unique read and write commands that do not need to be executed together, but just need to be executed in the proper sequence. The most preferred embodiments use a separate RMW queue in the controller in conjunction with the read queue and write queue. In other embodiments, the controller places the read and write portions of the RMW into the read and write queue, but where the write queue has a dependency indicator associated with the RMW write command in the write queue to insure the controller maintains the proper execution sequence. The embodiments allow the memory controller to translate RMW commands into read and write commands with the proper sequence of execution to preserve data coherency.Type: GrantFiled: June 10, 2008Date of Patent: March 15, 2011Assignee: International Business Machines CorporationInventors: Philip Rogers Hillier, III, William Paul Hovis, Joseph Allen Kirscht
-
Patent number: 7882314Abstract: 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.Type: GrantFiled: September 7, 2007Date of Patent: February 1, 2011Assignee: International Business Machines CorporationInventors: Brian David Allison, Joseph Allen Kirscht, Elizabeth A. McGlone
-
Patent number: 7882323Abstract: 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.Type: GrantFiled: September 7, 2007Date of Patent: February 1, 2011Assignee: International Business Machines CorporationInventors: Brian David Allison, Joseph Allen Kirscht, Elizabeth A. McGlone
-
Patent number: 7761669Abstract: 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.Type: GrantFiled: July 10, 2007Date of Patent: July 20, 2010Assignee: International Business Machines CorporationInventors: Brian David Allison, Wayne Barrett, Joseph Allen Kirscht, Elizabeth A. McGlone, Brian T. Vanderpool
-
Publication number: 20090287900Abstract: This invention generally provides a method for speeding up system boot time, by initializing a subset of memory during the system firmware test/initialization, and allowing the system to boot an operating system with this subset of installed memory. While the system is completing the operating system boot with the subset of installed memory, a remainder of the installed system memory is being initialized/tested. When the initialization the remainder of system memory is completed (and after the OS has booted), the SMI handler is invoked. The SMI handler then simulates a physical memory “Hot Add” event, and reports the event to the OS. This allows much of the memory initialization/test activity to occur in parallel with the firmware initialization/test and operating system startup processes.Type: ApplicationFiled: May 14, 2008Publication date: November 19, 2009Inventors: Joseph Allen Kirscht, Sumeet Kochar, Barry Alan Kritt, William Bradley Schwartz
-
Publication number: 20090216959Abstract: 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.Type: ApplicationFiled: February 27, 2008Publication date: August 27, 2009Inventors: Brian David Allison, Joseph Allen Kirscht, Elizabeth A. McGlone
-
Publication number: 20090216960Abstract: 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.Type: ApplicationFiled: February 27, 2008Publication date: August 27, 2009Inventors: Brian David Allison, Joseph Allen Kirscht, Elizabeth A. McGlone
-
Publication number: 20090177946Abstract: A method and apparatus to improve memory initialization in a memory of a computer system. Memory units in the memory comprise a plurality of ranks, each rank having a unique rank select. A parity generator outputs a parity bit corresponding to whether an encoded rank select has an even or odd number of “1”s. The parity bit is used by an Error Checking and Correcting (ECC) unit that generates ECC bits that are stored in a rank having an active rank select. During a first interval in a memory initialization period, ranks having an even number of “1”s in their encoded rank select are initialized in parallel. During a second interval in the memory initialization period, ranks having an odd number of “1”s in their encoded rank select are initialized in parallel.Type: ApplicationFiled: January 4, 2008Publication date: July 9, 2009Inventors: Shiva R. Dasari, Sudhir Dhawan, Joseph Allen Kirscht, Jennifer L. Vargus