Patents by Inventor Mark Andrew Brittain
Mark Andrew Brittain 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: 9785578Abstract: An apparatus and method are provided for controlling access to a memory device. The apparatus has a pending access requests storage that is used to store access requests waiting to be issued to the memory device, and memory access control circuitry is then used to issue to the memory device access requests selected from the pending access requests storage. Access requests are received at an interface of the apparatus from at least one requesting device, and access request evaluation circuitry within the apparatus is arranged to apply criteria to determine, for a current access request, whether to accept that current access request or reject that current access request. The criteria applied takes account of at least one access timing characteristic of the memory device. The access request evaluation circuitry is responsive to determining that the current access request is to be accepted, to cause that current access request to be stored in the pending access requests storage.Type: GrantFiled: June 5, 2015Date of Patent: October 10, 2017Assignee: ARM LimitedInventors: Mark Andrew Brittain, Michael Andrew Campbell
-
Publication number: 20160357688Abstract: An apparatus and method are provided for controlling access to a memory device. The apparatus has a pending access requests storage that is used to store access requests waiting to be issued to the memory device, and memory access control circuitry is then used to issue to the memory device access requests selected from the pending access requests storage. Access requests are received at an interface of the apparatus from at least one requesting device, and access request evaluation circuitry within the apparatus is arranged to apply criteria to determine, for a current access request, whether to accept that current access request or reject that current access request. The criteria applied takes account of at least one access timing characteristic of the memory device. The access request evaluation circuitry is responsive to determining that the current access request is to be accepted, to cause that current access request to be stored in the pending access requests storage.Type: ApplicationFiled: June 5, 2015Publication date: December 8, 2016Inventors: Mark Andrew BRITTAIN, Michael Andrew CAMPBELL
-
Patent number: 8055922Abstract: A method and system for enabling directed temperature/power management at the DIMM-level and/or DRAM-level utilizing intelligent scheduling of memory access operations received at the memory controller. Hot spots within the memory subsystem, caused by operating the DIMMs/DRAMs above predetermined/preset threshold power/temperature values for operating a DIMM and/or a DRAM, are avoided/controlled by logic within the memory controller. The memory controller logic throttles the number/frequency at which commands (read/write operations) are issued to the specific DIMM/DRAM based on stored parameter values and tracking of outstanding operations issued to the memory subsystem devices.Type: GrantFiled: August 22, 2008Date of Patent: November 8, 2011Assignee: International Business Machines CorporationInventors: Mark Andrew Brittain, Warren Edward Maule
-
Patent number: 7934070Abstract: A memory subsystem completes multiple read operations in parallel, utilizing the functionality of buffered memory modules in a daisy chain topology. A variable read latency is provided with each read command to enable memory modules to run independently in the memory subsystem. Busy periods of the memory device architecture are hidden by allowing data buses on multiple memory modules attached to the same data channel to run in parallel rather than in series and by issuing reads earlier than required to enable the memory devices to return from a busy state earlier. During scheduling of reads, the earliest received read whose target memory module is not busy is immediately issued at a next command cycle. The memory controller provides a delay parameter with each issued read. The number of cycles of delay is calculated to allow maximum utilization of the memory modules' data bus bandwidth without causing collisions on the memory channel.Type: GrantFiled: December 6, 2007Date of Patent: April 26, 2011Assignee: International Business Machines CorporationInventors: Mark Andrew Brittain, Edgar Rolando Cordero, Sanjeev Ghai, Warren Edward Maule
-
Patent number: 7840860Abstract: A method and system is presented for correcting a data error in a primary Dynamic Random Access Memory (DRAM) in a Dual In-line Memory Module (DIMM). Each DRAM has a left half (for storing bits 0:3) and a right half (for storing bits 4:7). A determination is made as to whether the data error was in the left or right half of the primary DRAM. The half of the primary DRAM in which the error occurred is removed from service. All subsequent reads and writes for data originally stored in the primary DRAM's defective half are made to a half of a spare DRAM in the DIMM, while the DRAM's non-defective half continues to be used for subsequently storing data.Type: GrantFiled: August 7, 2008Date of Patent: November 23, 2010Assignee: International Business Machines CorporationInventors: Luiz Carlos Alves, Mark Andrew Brittain, Timothy Jay Dell, Sanjeev Ghai, Warren Edward Maule, Scott Barnett Swaney
-
Patent number: 7631228Abstract: A system, method, and memory controller are provided that alters a memory command stream to a hardware memory. Data is written to the hardware memory and, after the data is stored in the memory, error correction code is received from the memory. Bit errors are identified based upon the error correction code that was received. The memory command stream is then altered based upon the number of bit errors that were identified. In one embodiment, altering the memory command stream includes adjusting a memory refresh rate, while in another embodiment, altering the memory command stream includes adjusting a memory usage delay.Type: GrantFiled: September 12, 2006Date of Patent: December 8, 2009Assignee: International Business Machines CorporationInventors: Mark Andrew Brittain, Warren Edward Maule
-
Patent number: 7600091Abstract: Memory modules are designed with multiple write buffers utilized to temporarily hold write data. “Write-to-buffer” operations moves write data from the memory controller to the write buffers while the memory module is busy processing read operations. Then, address-only “write” commands are later issued to write the buffered write data to the memory device. The write commands targeting idle DIMMs are issued in sequence ahead of writes targeting busy DIMMs (or soon to be busy). Moving the data via a background write-to-buffer operation increases the efficiency of the common write data channel and allows the write data bus to reach maximum bandwidth during periods of heavy read activity. The actual write operations, deferred to periods of when the negative affects of the write can be completely/mostly hidden. In periods of light read activity or when there are no reads pending, buffering data in the memory module enables the buffered data to be written in parallel across multiple memory modules simultaneously.Type: GrantFiled: December 6, 2007Date of Patent: October 6, 2009Assignee: International Business Machines CorporationInventors: Mark Andrew Brittain, Warren Edward Maule, Gary Alan Morrison, Jeffrey Adam Stuecheli
-
Patent number: 7523364Abstract: A method and system is presented for correcting a data error in a primary Dynamic Random Access Memory (DRAM) in a Dual In-line Memory Module (DIMM). Each DRAM has a left half (for storing bits 0:3) and a right half (for storing bits 4:7). A determination is made as to whether the data error was in the left or right half of the primary DRAM. The half of the primary DRAM in which the error occurred is removed from service. All subsequent reads and writes for data originally stored in the primary DRAM's defective half are made to a half of a spare DRAM in the DIMM, while the DRAM's non-defective half continues to be used for subsequently storing data.Type: GrantFiled: February 9, 2005Date of Patent: April 21, 2009Assignee: International Business Machines CorporationInventors: Luiz Carlos Alves, Mark Andrew Brittain, Timothy Jay Dell, Sanjeev Ghai, Warren Edward Maule, Scott Barnett Swaney
-
Patent number: 7516264Abstract: A set of N copies of bank control logic are provided for tracking the banks within the memory modules (DRAMS). When the total number of banks within the memory module(s) is greater than N, the addresses of particular banks are folded into a single grouping. The banks are represented by the N copies of the bank control logic even when the total number of banks is greater than N. Each bank within the group is tagged as being busy when any one of the banks in the group is the target of a memory access request. The algorithm folds the addresses of the banks in an order that substantially minimizes the likelihood that a bank that is in a busy or false busy state will be the target of another memory access request. Power and logic savings are recognized as only N copies of bank control logic have to be supported.Type: GrantFiled: February 9, 2005Date of Patent: April 7, 2009Assignee: International Business Machines CorporationInventors: Mark Andrew Brittain, Warren Edward Maule, Gary Alan Morrison, Jeffrey Adam Stuecheli
-
Patent number: 7493456Abstract: A memory controller includes an address queue with address queue locations that may expand to store address commands that point to consecutive locations in memory. In this manner, multiple address commands may combine together in a common expanded address queue location. In one embodiment, each address queue location includes a main information portion and a supplemental information portion. The supplemental information portion is smaller than the main information portion. The main information portion stores the target address information of a first address command. When the address queue receives an address command with a target address that is consecutive to the target address of the first command, then the supplemental address portion stores a subset of the target address of the second command.Type: GrantFiled: October 13, 2006Date of Patent: February 17, 2009Assignee: International Business Machines CorporationInventors: Mark Andrew Brittain, Warren Edward Maule, Eric Eugene Retter
-
Publication number: 20080320323Abstract: A method and system for enabling directed temperature/power management at the DIMM-level and/or DRAM-level utilizing intelligent scheduling of memory access operations received at the memory controller. Hot spots within the memory subsystem, caused by operating the DIMMs/DRAMs above predetermined/preset threshold power/temperature values for operating a DIMM and/or a DRAM, are avoided/controlled by logic within the memory controller. The memory controller logic throttles the number/frequency at which commands (read/write operations) are issued to the specific DIMM/DRAM based on stored parameter values and tracking of outstanding operations issued to the memory subsystem devices.Type: ApplicationFiled: August 22, 2008Publication date: December 25, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Mark Andrew Brittain, Warren Edward Maule
-
Publication number: 20080294950Abstract: A method and system is presented for correcting a data error in a primary Dynamic Random Access Memory (DRAM) in a Dual In-line Memory Module (DIMM). Each DRAM has a left half (for storing bits 0:3) and a right half (for storing bits 4:7). A determination is made as to whether the data error was in the left or right half of the primary DRAM. The half of the primary DRAM in which the error occurred is removed from service. All subsequent reads and writes for data originally stored in the primary DRAM's defective half are made to a half of a spare DRAM in the DIMM, while the DRAM's non-defective half continues to be used for subsequently storing data.Type: ApplicationFiled: August 7, 2008Publication date: November 27, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Luiz Carlos Alves, Mark Andrew Brittain, Timothy Jay Dell, Sanjeev Ghai, Warren Edward Maule, Scott Barnett Swaney
-
Patent number: 7426649Abstract: A method and system for enabling directed temperature/power management at the DIMM-level and/or DRAM-level utilizing intelligent scheduling of memory access operations received at the memory controller. Hot spots within the memory subsystem, caused by operating the DIMMs/DRAMs above predetermined/preset threshold power/temperature values for operating a DIMM and/or a DRAM, are avoided/controlled by logic within the memory controller. The memory controller logic throttles the number/frequency at which commands (read/write operations) are issued to the specific DIMM/DRAM based on stored parameter values and tracking of outstanding operations issued to the memory subsystem devices.Type: GrantFiled: February 9, 2005Date of Patent: September 16, 2008Assignee: International Business Machines CorporationInventors: Mark Andrew Brittain, Warren Edward Maule
-
Patent number: 7421598Abstract: A method and system for enabling directed temperature/power management at the DIMM-level and/or DRAM-level utilizing intelligent scheduling of memory access operations received at the memory controller. Hot spots within the memory subsystem, caused by operating the DIMMs/DRAMs above predetermined/preset threshold power/temperature values for operating a DIMM and/or a DRAM, are avoided/controlled by logic within the memory controller. The memory controller logic throttles the number/frequency at which commands (read/write operations) are issued to the specific DIMM/DRAM based on feedback data received from the specific DIMM/DRAM reaching the preset threshold power usage value.Type: GrantFiled: February 9, 2005Date of Patent: September 2, 2008Assignee: International Business Machines CorporationInventors: Mark Andrew Brittain, Edgar Rolando Cordero, James Stephen Fields, Jr., Warren Edward Maule, Eric Eugene Retter
-
Patent number: 7373471Abstract: Memory modules are designed with multiple write buffers utilized to temporarily hold write data. “Write-to-buffer” operations moves write data from the memory controller to the write buffers while the memory module is busy processing read operations. Then, address-only “write” commands are later issued to write the buffered write data to the memory device. The write commands targeting idle DIMMs are issued in sequence ahead of writes targeting busy DIMMs (or soon to be busy). Moving the data via a background write-to-buffer operation increases the efficiency of the common write data channel and allows the write data bus to reach maximum bandwidth during periods of heavy read activity. The actual write operations, deferred to periods of when the negative affects of the write can be completely/mostly hidden. In periods of light read activity or when there are no reads pending, buffering data in the memory module enables the buffered data to be written in parallel across multiple memory modules simultaneously.Type: GrantFiled: February 9, 2005Date of Patent: May 13, 2008Assignee: International Business Machines CorporationInventors: Mark Andrew Brittain, Warren Edward Maule, Gary Alan Morrison, Jeffrey Adam Stuecheli
-
Publication number: 20080091881Abstract: A memory controller includes an address queue with address queue locations that may expand to store address commands that point to consecutive locations in memory. In this manner, multiple address commands may combine together in a common expanded address queue location. In one embodiment, each address queue location includes a main information portion and a supplemental information portion. The supplemental information portion is smaller than the main information portion. The main information portion stores the target address information of a first address command. When the address queue receives an address command with a target address that is consecutive to the target address of the first command, then the supplemental address portion stores a subset of the target address of the second command.Type: ApplicationFiled: October 13, 2006Publication date: April 17, 2008Applicant: IBM CorporationInventors: Mark Andrew Brittain, Warren Edward Maule, Eric Eugene Retter
-
Publication number: 20080072116Abstract: A system, method, and memory controller are provided that alters a memory command stream to a hardware memory. Data is written to the hardware memory and, after the data is stored in the memory, error correction code is received from the memory. Bit errors are identified based upon the error correction code that was received. The memory command stream is then altered based upon the number of bit errors that were identified. In one embodiment, altering the memory command stream includes adjusting a memory refresh rate, while in another embodiment, altering the memory command stream includes adjusting a memory usage delay.Type: ApplicationFiled: September 12, 2006Publication date: March 20, 2008Inventors: Mark Andrew Brittain, Warren Edward Maule
-
Patent number: 7337293Abstract: A memory subsystem completes multiple read operations in parallel, utilizing the functionality of buffered memory modules in a daisy chain topology. A variable read latency is provided with each read command to enable memory modules to run independently in the memory subsystem. Busy periods of the memory device architecture are hidden by allowing data buses on multiple memory modules attached to the same data channel to run in parallel rather than in series and by issuing reads earlier than required to enable the memory devices to return from a busy state earlier. During scheduling of reads, the earliest received read whose target memory module is not busy is immediately issued at a next command cycle. The memory controller provides a delay parameter with each issued read. The number of cycles of delay is calculated to allow maximum utilization of the memory modules' data bus bandwidth without causing collisions on the memory channel.Type: GrantFiled: February 9, 2005Date of Patent: February 26, 2008Assignee: International Business Machines CorporationInventors: Mark Andrew Brittain, Edgar Rolando Cordero, Sanjeev Ghai, Warren Edward Maule