Patents by Inventor Philip Hillier
Philip Hillier 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: 11404105Abstract: A write history buffer can prevent write disturb in memory, enabling a reduction in write disturb refresh rate and improvement in performance. A memory device can include circuitry to cause consecutive write commands to the same address to be spaced by an amount of time to reduce incidences of write disturb, and therefore reduce the required write disturb refresh rate and improve performance. In one example, a memory device receives multiple write commands to an address. In response to receipt of the multiple write commands, the first write command is sent to the memory and a timer is started. Subsequent write commands that are received after the first write command and before expiration of the timer are held in a buffer. After expiration of the timer, only the most recent of the subsequent write commands to the address is sent to the memory array.Type: GrantFiled: December 21, 2020Date of Patent: August 2, 2022Assignee: Intel CorporationInventors: Akanksha Mehta, Benjamin Graniello, Rakan Maddah, Philip Hillier, Richard P. Mangold, Prashant S. Damle, Kunal A. Khochare
-
Patent number: 11188264Abstract: A memory system includes a nonvolatile (NV) memory device with asymmetry between intrinsic read operation delay and intrinsic write operation delay. The system can select to perform memory access operations with the NV memory device with the asymmetry, in which case write operations have a lower delay than read operations. The system can alternatively select to perform memory access operations with the NV memory device where a configured write operation delay that matches the read operation delay.Type: GrantFiled: February 3, 2020Date of Patent: November 30, 2021Assignee: Intel CorporationInventors: Shekoufeh Qawami, Philip Hillier, Benjamin Graniello, Rajesh Sundaram
-
Publication number: 20210110862Abstract: A write history buffer can prevent write disturb in memory, enabling a reduction in write disturb refresh rate and improvement in performance. A memory device can include circuitry to cause consecutive write commands to the same address to be spaced by an amount of time to reduce incidences of write disturb, and therefore reduce the required write disturb refresh rate and improve performance. In one example, a memory device receives multiple write commands to an address. In response to receipt of the multiple write commands, the first write command is sent to the memory and a timer is started. Subsequent write commands that are received after the first write command and before expiration of the timer are held in a buffer. After expiration of the timer, only the most recent of the subsequent write commands to the address is sent to the memory array.Type: ApplicationFiled: December 21, 2020Publication date: April 15, 2021Inventors: Akanksha MEHTA, Benjamin GRANIELLO, Rakan MADDAH, Philip HILLIER, Richard P. MANGOLD, Prashant S. DAMLE, Kunal A. KHOCHARE
-
Publication number: 20200174705Abstract: A memory system includes a nonvolatile (NV) memory device with asymmetry between intrinsic read operation delay and intrinsic write operation delay. The system can select to perform memory access operations with the NV memory device with the asymmetry, in which case write operations have a lower delay than read operations. The system can alternatively select to perform memory access operations with the NV memory device where a configured write operation delay that matches the read operation delay.Type: ApplicationFiled: February 3, 2020Publication date: June 4, 2020Inventors: Shekoufeh QAWAMI, Philip HILLIER, Benjamin GRANIELLO, Rajesh SUNDARAM
-
Patent number: 10310989Abstract: One embodiment provides a memory controller. The memory controller includes a memory controller memory; a timestamp circuitry and a demarcation voltage (VDM) selection circuitry. The timestamp circuitry is to capture a current timer index from a timer circuitry in response to an initiation of a periodic patrol scrub and to compare the current timer index to a stored timestamp. The VDM selection circuitry is to update a state of a sub-block of a memory array, if the state is less than a threshold and a difference between the current timer index and the stored timestamp is nonzero. The timestamp circuitry is further to store the current timer index as a new timestamp.Type: GrantFiled: September 29, 2017Date of Patent: June 4, 2019Assignee: Intel CorporationInventors: Philip Hillier, Jeffrey W. Ryden, Muthukumar P. Swaminathan, Zion S. Kwok, Kunal A. Khochare, Richard P. Mangold, Prashant S. Damle
-
Publication number: 20190102320Abstract: One embodiment provides a memory controller. The memory controller includes a memory controller memory; a timestamp circuitry and a demarcation voltage (VDM) selection circuitry. The timestamp circuitry is to capture a current timer index from a timer circuitry in response to an initiation of a periodic patrol scrub and to compare the current timer index to a stored timestamp. The VDM selection circuitry is to update a state of a sub-block of a memory array, if the state is less than a threshold and a difference between the current timer index and the stored timestamp is nonzero. The timestamp circuitry is further to store the current timer index as a new timestamp.Type: ApplicationFiled: September 29, 2017Publication date: April 4, 2019Applicant: INTEL CORPORATIONInventors: Philip Hillier, Jeffrey W. Ryden, Muthukumar P. Swaminathan, Zion S. Kwok, Kunal A. Khochare, Richard P. Mangold, Prashant S. Damle
-
Patent number: 9934859Abstract: In response to a write operation on a storage element in a non-volatile memory device, a count provided by a global counter is stored to indicate a time at which the write operation occurs on the storage element. In response to receiving a request perform a read operation on the storage element, a determination is made of a demarcation voltage to apply for performing the read operation on the storage element, based on a progress of the global counter since the write operation on the storage element.Type: GrantFiled: December 27, 2016Date of Patent: April 3, 2018Assignee: INTEL CORPORATIONInventors: Muthukumar P. Swaminathan, Zion S. Kwok, Prashant S. Damle, Kunal A. Khochare, Philip Hillier, Jeffrey W. Ryden, Richard P. Mangold
-
Patent number: 9691492Abstract: A predetermined pattern of bits is written to a non-volatile memory device prior to powering down the non-volatile memory device. A plurality of voltages are applied to the non-volatile memory device to determine which voltage of the plurality of voltages allows the predetermined pattern of bits to be read with a least amount of error. The determined voltage is set to be a demarcation voltage for reading from the non-volatile memory device.Type: GrantFiled: September 29, 2016Date of Patent: June 27, 2017Assignee: INTEL CORPORATIONInventors: Bruce Querbach, Zion S. Kwok, Christopher F. Connor, Philip Hillier, Jeffrey W. Ryden
-
Publication number: 20080052568Abstract: In a data processing system having a memory control device including at least two mirrored memory ports, a method, system, and article of manufacture for processing read requests are disclosed herein. In accordance with the method of the present invention, a read request is received on a system interconnect coupling read requestors with memory resources. The received read request is issued only to a specified one of the at least two mirrored memory ports within the memory control device. In response to detecting an unrecoverable error resulting from the read request issued to the one mirrored memory port, the received read request is issued to an alternate of the at least two mirrored memory ports.Type: ApplicationFiled: October 30, 2007Publication date: February 28, 2008Inventors: Philip Hillier, Joseph Kirscht, Elizabeth McGlone
-
Publication number: 20080016294Abstract: 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: ApplicationFiled: July 18, 2007Publication date: January 17, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Philip Hillier, William Hovis, Joseph Kirscht
-
Publication number: 20070288676Abstract: In a first aspect, a first method is provided for servicing commands. The first method includes the steps of (1) receiving a first command for servicing in a memory controller including a plurality of memory ports, wherein the first command is of a first priority; (2) receiving a second command for servicing in the memory controller, wherein the second command is of a second priority that is higher than the first priority; (3) determining whether the first and second commands will be serviced through the same memory port; and (4) if the first and second commands will not be serviced through the same memory port, servicing the first and second commands during the same time period. Numerous other aspects are provided.Type: ApplicationFiled: August 23, 2007Publication date: December 13, 2007Inventors: Philip Hillier, Joseph Kirscht
-
Publication number: 20070288698Abstract: A memory controller includes scrub circuitry that performs scrub cycles in a way that does not delay processor reads to memory during the scrub cycle. Atomicity of the scrub operation is assured by protocols set up in the memory controller, not by using an explicit atomic read-correct-write operation. The result is a memory controller that efficiently scrubs memory while minimizing the impact of scrub cycles on system performance.Type: ApplicationFiled: March 26, 2007Publication date: December 13, 2007Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Philip Hillier, Joseph Kirscht, Elizabeth McGlone
-
Publication number: 20060253659Abstract: A method and a virtual port register array are provided for implementing shared access to a register array port by multiple sources simultaneously. A plurality of write data stages is provided for transferring write data to a plurality of register arrays from the multiple sources. A plurality of read data stages is provided for transferring read data from the plurality of register arrays to the multiple sources. A respective multiplexer stage is coupled between the write data stages and the physical write port and the read data stages and the physical read port and clocking is provided to alternate register array access and to allow pass-through of only one source request at a time per physical write port and physical read port.Type: ApplicationFiled: May 5, 2005Publication date: November 9, 2006Applicant: International Business Machines CorporationInventors: Todd Greenfield, Philip Hillier, Gene Leung
-
Publication number: 20060248432Abstract: 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: ApplicationFiled: April 28, 2005Publication date: November 2, 2006Applicant: International Business Machines CorporationInventors: Wayne Barrett, Philip Hillier, Joseph Kirscht, Elizabeth McGlone
-
Publication number: 20060248275Abstract: 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: ApplicationFiled: April 28, 2005Publication date: November 2, 2006Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Herman Blackmon, Philip Hillier, Joseph Kirscht, Brian Vanderpool
-
Publication number: 20060187739Abstract: In an aspect, a method is provided for using memory. The method includes the steps of (1) employing memory stacking, memory mirroring and memory interleaving in a total memory to reduce a number of memory entries that are written to an input/output (I/O) device while a portion of the total memory is replaced; and (2) storing data in the total memory. Numerous other aspects are provided.Type: ApplicationFiled: February 24, 2005Publication date: August 24, 2006Applicant: International Business Machines CorporationInventors: John Borkenhagen, Sudhir Dhawan, Philip Hillier, Joseph Kirscht, Randolph Kolvick
-
Publication number: 20060184846Abstract: In a data processing system having a memory control device including at least two mirrored memory ports, a method, system, and article of manufacture for processing read requests are disclosed herein. In accordance with the method of the present invention, a read request is received on a system interconnect coupling read requestors with memory resources. The received read request is issued only to a specified one of the at least two mirrored memory ports within the memory control device. In response to detecting an unrecoverable error resulting from the read request issued to the one mirrored memory port, the received read request is issued to an alternate of the at least two mirrored memory ports.Type: ApplicationFiled: February 3, 2005Publication date: August 17, 2006Applicant: International Business Machines CorporationInventors: Philip Hillier, Joseph Kirscht, Elizabeth McGlone
-
Publication number: 20060161759Abstract: In a first aspect, a first method is provided for accessing a main memory. The first method includes the steps of (1) receiving a real address of the main memory that includes critical bits requiring conversion to bits of a physical address to start a memory access in a node including local memory of the main memory, wherein the physical address is a node-specific address; (2) converting the critical bits of the real address to critical bits of a physical address in a time faster than the time required to convert the entire real address to a physical address representing a node-specific memory address; and (3) employing the converted critical bits to start the memory access. Numerous other aspects are provided.Type: ApplicationFiled: January 14, 2005Publication date: July 20, 2006Applicant: International Business Machines CorporationInventors: Philip Hillier, Joseph Kirscht
-
Publication number: 20060129741Abstract: 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: ApplicationFiled: December 15, 2004Publication date: June 15, 2006Applicant: International Business Machines CorporationInventors: Philip Hillier, Joseph Kirscht, Jamie Kuesel
-
Publication number: 20060106956Abstract: In a first aspect, a first method is provided for servicing commands. The first method includes the steps of (1) receiving a first command for servicing in a memory controller including a plurality of memory ports, wherein the first command is of a first priority; (2) receiving a second command for servicing in the memory controller, wherein the second command is of a second priority that is higher than the first priority; (3) determining whether the first and second commands will be serviced through the same memory port; and (4) if the first and second commands will not be serviced through the same memory port, servicing the first and second commands during the same time period. Numerous other aspects are provided.Type: ApplicationFiled: November 12, 2004Publication date: May 18, 2006Applicant: International Business Machines CorporationInventors: Philip Hillier, Joseph Kirscht