Patents by Inventor John MacLaren
John MacLaren 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: 10956342Abstract: A multi-controller memory system includes a flexible channel memory controller coupled to at least first and second physical interfaces. The second physical interface is also coupled to an auxiliary memory controller. The physical interfaces may be coupled to separate memory modules. In a single-channel control mode, the memory controllers respectively control the memory modules coupled to the first and second physical interface. In a multi-channel control mode, the flexible channel memory controller controls both memory modules while the auxiliary memory controller is inactive. In a single-channel control mode, the memory controllers coordinate restricted memory control commands which access a resource shared by both modules, by one controller transmitting a request signal for the resource to the other controller, awaiting an acknowledgment signal from the other controller, and maintaining transmission of the request signal until the use of the resource is completed.Type: GrantFiled: February 3, 2017Date of Patent: March 23, 2021Assignee: CADENCE DESIGN SYSTEMS, INC.Inventors: John MacLaren, Jerome J. Johnson, Landon Laws, Anne Hughes
-
Patent number: 10719058Abstract: A system and method are provided for memory control, having selectively distributed power-on processing. A memory controller executes responsive to a master control operation to actuate a plurality of operational tasks on a memory device. The memory controller includes a first power-on block executable to actuate one or both of initialization and training operations corresponding to the memory device. A PHY portion coupled to the memory controller portion executes to adaptively configure control, address, and data signals for physically compatible passage between the controller portion and memory device. The PHY portion includes a second power-on block executable to actuate one or both of an initialization operation and a training operation corresponding to the memory device. The PHY portion is configured according to the initialization and training operations, wherein each of the initialization and training operations are selectively actuated responsive to one of the power-on blocks.Type: GrantFiled: September 25, 2017Date of Patent: July 21, 2020Assignee: CADENCE DESIGN SYSTEMS, INC.Inventors: Jerome J. Johnson, John MacLaren, Sreenivasan Kandagatla
-
Patent number: 10446215Abstract: A system and method are provided for system for adaptive refresh of a memory device having multiple integrated circuit chips. A command generation portion generates commands for actuating a plurality of operational tasks on the memory device, including at least read, write, and refresh operations for selectively addressed storage cells of the memory device. A command management portion stores the commands and selects from the commands for timely execution of corresponding operational tasks on the memory device. A refresh management portion coupled to the command generation and command management portions actuates a plurality of refresh operations adaptively interleaved with other operational tasks, such that recursive refresh of the storage cells is carried out for the memory device within a predetermined refresh window of time. The refresh management portion selectively actuates each refresh operation for a chip-based selection of storage cells, whereby the storage cells of a selected chip are refreshed.Type: GrantFiled: November 16, 2016Date of Patent: October 15, 2019Assignee: CADENCE DESIGN SYSTEMS, INC.Inventors: Anne Hughes, John MacLaren, Devika Raghu
-
Patent number: 10275306Abstract: A system and method are provided for controlling access to a memory device having adaptively split addressing of error-protected data words according to an inline memory storage configuration. An address translation section executes to convert a data address associated with a received command to inline data and inline error checking addresses corresponding thereto. Each data word's data and error checking bits are stored according to respective inline data inline error checking addresses. A segment of error checking bits is thereby offset in address from at least one segment of the same data word's data bits in a common chip of the memory device. A command translation section executes to convert between a received command to data access and error checking access commands for actuating respective access operations on the memory device. An error checking storage section intermediately stores error checking bits responsive to execution of the error checking access command.Type: GrantFiled: February 9, 2017Date of Patent: April 30, 2019Assignee: Cadence Design Systems, Inc.Inventors: John MacLaren, Carl Olson, Jerome J. Johnson, Thomas J. Shepherd
-
Patent number: 10037246Abstract: A system and method are provided for controlling access to memory to support processing of a master control operation. A data control portion is configured to carry out a plurality of data access operations on the memory device, including read, write, and read-modify-write operations for selectively addressed storage locations defined in the memory. An error control portion executes to detect error in a data segment as stored in the memory. The error control portion corrects a data segment read from the memory device for at least one type of detected error. A command control portion generates commands for actuating the data access operations of the data control portion. The command control portion includes a corrective writeback unit executable responsive to detection of correctable error in a data segment to actuate a read-modify-write operation to the data segment's storage locations. The corresponding storage locations of the memory are thereby adaptively scrubbed.Type: GrantFiled: July 25, 2016Date of Patent: July 31, 2018Assignee: Cadence Design Systems, Inc.Inventors: Landon Laws, Anne Hughes, John MacLaren
-
Patent number: 8429438Abstract: An invention is provided for transferring data between asynchronous clock domains. The asynchronous clock domains include a source clock domain operating with a source clock signal and a receiving clock domain operating with a receiving clock signal. The invention includes determining a phase shift relationship between the source clock signal and a signal. When the phase shift relationship is below a predetermined threshold the data is transferred between the source clock domain and the receiving clock domain using a first plurality of stage operations. When the phase shift relationship is above the predetermined threshold, the data is transferred between the source clock domain and the receiving clock domain using a second plurality of stage operations that delay data transfer an additional half period of the source clock signal.Type: GrantFiled: May 5, 2009Date of Patent: April 23, 2013Assignee: Cadence Design Systems, Inc.Inventors: Anne Espinoza, John MacLaren
-
Patent number: 8098535Abstract: An invention is provided for gate training in memory interfaces. The invention includes adding a coarse delay to a gate assert time, where the coarse delay is a predefined period of time and the gate assert time is a time when a data strobe gate signal is asserted. Next, the a data strobe signal is repeatedly sampled at the gate assert time until a rising edge of the data strobe signal is found, wherein a fine delay is added to the gate assert time between sampling of the data strobe signal. The fine delay is a period of time shorter than the coarse delay. Once the rising edge is found, the coarse delay is removed from the gate assert time, thus setting the gate assert time centrally within the preamble of the data strobe signal.Type: GrantFiled: March 30, 2009Date of Patent: January 17, 2012Assignee: Cadence Design Systems, Inc.Inventors: John MacLaren, Anne Espinoza
-
Patent number: 7952945Abstract: An invention is provided for determining write leveling delay for a plurality of memory devices having command signals lines connected in series to each memory device is disclosed. The invention includes determining a device delay value for each memory device. Each device delay value indicates a period of time to delay a DQS signal when accessing a related memory device. Once these delay values are determined, the delay values are examined sequentially and a prior device delay value is set to a lower value, for example zero, when a subsequent device delay value of a memory device connected subsequently along the command signal lines is greater than the prior device delay value.Type: GrantFiled: March 30, 2009Date of Patent: May 31, 2011Assignee: Cadence Design Systems, Inc.Inventors: Anne Espinoza, John MacLaren
-
Publication number: 20100287401Abstract: An invention is provided for transferring data between asynchronous clock domains. The asynchronous clock domains include a source clock domain operating with a source clock signal and a receiving clock domain operating with a receiving clock signal. The invention includes determining a phase shift relationship between the source clock signal and a signal. When the phase shift relationship is below a predetermined threshold the data is transferred between the source clock domain and the receiving clock domain using a first plurality of stage operations. When the phase shift relationship is above the predetermined threshold, the data is transferred between the source clock domain and the receiving clock domain using a second plurality of stage operations that delay data transfer an additional half period of the source clock signal.Type: ApplicationFiled: May 5, 2009Publication date: November 11, 2010Applicant: DENALI SOFTWARE, INC.Inventors: Anne Espinoza, John MacLaren
-
Publication number: 20100246291Abstract: An invention is provided for determining write leveling delay for a plurality of memory devices having command signals lines connected in series to each memory device is disclosed. The invention includes determining a device delay value for each memory device. Each device delay value indicates a period of time to delay a DQS signal when accessing a related memory device. Once these delay values are determined, the delay values are examined sequentially and a prior device delay value is set to a lower value, for example zero, when a subsequent device delay value of a memory device connected subsequently along the command signal lines is greater than the prior device delay value.Type: ApplicationFiled: March 30, 2009Publication date: September 30, 2010Applicant: DENALI SOFTWARE, INC.Inventors: Anne Espinoza, John MacLaren
-
Publication number: 20100246290Abstract: An invention is provided for gate training in memory interfaces. The invention includes adding a coarse delay to a gate assert time, where the coarse delay is a predefined period of time and the gate assert time is a time when a data strobe gate signal is asserted. Next, the a data strobe signal is repeatedly sampled at the gate assert time until a rising edge of the data strobe signal is found, wherein a fine delay is added to the gate assert time between sampling of the data strobe signal. The fine delay is a period of time shorter than the coarse delay. Once the rising edge is found, the coarse delay is removed from the gate assert time, thus setting the gate assert time centrally within the preamble of the data strobe signal.Type: ApplicationFiled: March 30, 2009Publication date: September 30, 2010Applicant: DENALI SOFTWARE, INC.Inventors: John MacLaren, Anne Espinoza
-
Patent number: 7353328Abstract: A memory subsystem may be usable in an electronic system. The memory subsystem may comprise a memory controller and a plurality of memory modules coupled to the memory controller. The memory module may be isolated wherein transactions that target the isolated memory module can complete without loss of data and without accessing the isolated memory module, and while isolated, the memory module can be tested.Type: GrantFiled: March 29, 2004Date of Patent: April 1, 2008Assignee: Hewlett-Packard Development Company, L.P.Inventors: John MacLaren, Thomas J. Bonola, Jerry Johnson
-
Publication number: 20060085671Abstract: A computer system includes a plurality of memory modules that contain semiconductor memory, such as DIMMs. The system includes a host/data controller that utilizes an XOR engine to store data and parity information in a striped fashion on the plurality of memory modules to create a redundant array of industry standard DIMMs (RAID). The host/data controller also interleaves data on a plurality of channels associated with each of the plurality of memory modules. The system implements error interrupt control, ECC error reporting, cartridge error power down procedures in response to command errors, storage of error information in unused segments of each DIMM, hot-pug procedure indicator and remote tagging capabilities of memory cartridges and DIMMs.Type: ApplicationFiled: December 1, 2005Publication date: April 20, 2006Inventors: Tim Majni, Gary Piccirillo, John MacLaren, Robert Lester, John Larson, Jerome Johnson, Benjamin Clark, Patrick Ferguson, Siamak Tavallaei, Jeffrey Autor, Christian Post, Dan Zink, Jeffery Galloway, Bret Roscoe
-
Publication number: 20050223265Abstract: A memory subsystem may be usable in an electronic system. The memory subsystem may comprise a memory controller and a plurality of memory modules coupled to the memory controller. The memory module may be isolated wherein transactions that target the isolated memory module can complete without loss of data and without accessing the isolated memory module, and while isolated, the memory module can be tested.Type: ApplicationFiled: March 29, 2004Publication date: October 6, 2005Inventors: John MacLaren, Thomas Bonola, Jerry Johnson
-
Publication number: 20050193166Abstract: A computer system includes a plurality of memory modules that contain semiconductor memory, such as DIMMs. The system includes a host/data controller that utilizes an XOR engine to store data and parity information in a striped fashion on the plurality of memory modules to create a redundant array of industry standard DIMMs (RAID). The host/data controller also interleaves data on a plurality of channels associated with each of the plurality of memory modules. To optimize memory bandwidth and reduce memory latency, various techniques are implemented in the present RAID system. Present techniques include providing dual memory arbiters, sorting read cycles by chip select or bank address, providing programmable upper and lower boundary registers to facilitate programmable memory mapping, and striping and interleaving memory data to provide a burst length of one.Type: ApplicationFiled: August 29, 2003Publication date: September 1, 2005Inventors: Jerome Johnson, Benjamin Clark, Gary Piccirillo, John MacLaren
-
Publication number: 20050027951Abstract: A computer system includes a plurality of memory modules that contain semiconductor memory, such as DIMMs. The system includes a host/data controller that utilizes an XOR engine to store data and parity information in a striped fashion on the plurality of memory modules to create a redundant array of industry standard DIMMs (RAID). The host/data controller also interleaves data on a plurality of channels associated with each of the plurality of memory modules.Type: ApplicationFiled: August 27, 2004Publication date: February 3, 2005Inventors: Gary Piccirillo, John MacLaren, Robert Lester, John Larson, Jerome Johnson, Benjamin Clark