Patents by Inventor Massimo Sutera
Massimo Sutera 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: 12159056Abstract: Apparatus and methods for extending functionality of memory controllers in a processor-based device are disclosed herein. In one aspect, a processor-based device provides a memory access intercept circuit that is communicatively coupled to a memory controller and a memory device. The memory access intercept circuit is configured to receive a memory write request that is directed to and received by the memory controller, and generates a write transaction identifier (ID) for the memory write request. The memory access intercept circuit then generates proxy write data containing the write transaction ID, and sends the proxy write data to the memory controller. The memory access intercept circuit subsequently intercepts the actual write data directed to the memory controller, and stores the write data in a write data buffer in association with the write transaction ID.Type: GrantFiled: July 1, 2022Date of Patent: December 3, 2024Assignee: Ampere Computing LLCInventors: Massimo Sutera, Sandeep Brahmadathan, Nagi Aboulenein, Brian Thomas Chase, James Edward Casteel, Kha Minh Huynh, Vung Thanh Huynh
-
Publication number: 20240220356Abstract: A memory control circuit stores codewords in a memory module configured to limit errors to one wire of a memory interface. A codeword includes a first block with a first data portion and a second block with a second data portion. An error correction code symbol in the second block is used to locate and correct errors in the second block. Some bits of the first block are repurposed as metadata. The remaining bits are used as parity bits for detecting errors in the first block. The second block is merged with the first block before being stored to memory and demerged from the first block in a memory read operation. Demerging causes errors in the first block to create errors in a corresponding location in the second block. The location of errors found in the second block is used to locate and correct parity errors in the first block.Type: ApplicationFiled: March 18, 2024Publication date: July 4, 2024Inventors: Massimo Sutera, Nagi Aboulenein, Sandeep Brahmadathan
-
Patent number: 11934263Abstract: A memory control circuit stores codewords in a memory module configured to limit errors to one wire of a memory interface. A codeword includes a first block with a first data portion and a second block with a second data portion. An error correction code symbol in the second block is used to locate and correct errors in the second block. Some bits of the first block are repurposed as metadata. The remaining bits are used as parity bits for detecting errors in the first block. The second block is merged with the first block before being stored to memory and demerged from the first block in a memory read operation. Demerging causes errors in the first block to create errors in a corresponding location in the second block. The location of errors found in the second block is used to locate and correct parity errors in the first block.Type: GrantFiled: March 29, 2022Date of Patent: March 19, 2024Assignee: Ampere Computing LLCInventors: Massimo Sutera, Nagi Aboulenein, Sandeep Brahmadathan
-
Publication number: 20240004577Abstract: Apparatus and methods for extending functionality of memory controllers in a processor-based device are disclosed herein. In one aspect, a processor-based device provides a memory access intercept circuit that is communicatively coupled to a memory controller and a memory device. The memory access intercept circuit is configured to receive a memory write request that is directed to and received by the memory controller, and generates a write transaction identifier (ID) for the memory write request. The memory access intercept circuit then generates proxy write data containing the write transaction ID, and sends the proxy write data to the memory controller. The memory access intercept circuit subsequently intercepts the actual write data directed to the memory controller, and stores the write data in a write data buffer in association with the write transaction ID.Type: ApplicationFiled: July 1, 2022Publication date: January 4, 2024Inventors: Massimo Sutera, Sandeep Brahmadathan, Nagi Aboulenein, Brian Thomas Chase, James Edward Casteel, Kha Minh Huynh, Vung Thanh Huynh
-
Publication number: 20230315571Abstract: A codeword read from memory includes data blocks including data and supplemental blocks including error correction code (ECC) symbols for detecting and correcting data errors. Metadata can be stored in the supplemental blocks to increase memory utilization but using bits of the supplemental blocks for metadata leaves too few bits remaining for the ECC symbols. To maintain error protection, the supplemental blocks include ECC symbols to protect a first data portion of the codeword and parity bits configured to protect a second data portion of the codeword. Errors in the first data portion can be located and corrected using the ECC symbols. Errors in the second data portion can be detected by the parity. For example, the first data portion is encoded based on the second data portion, so locations of parity errors correspond to locations of symbol errors, and parity errors can be corrected.Type: ApplicationFiled: March 29, 2022Publication date: October 5, 2023Inventors: Massimo Sutera, Nagi Aboulenein, Sandeep Brahmadathan
-
Publication number: 20230315565Abstract: A memory control circuit stores codewords in a memory module configured to limit errors to one wire of a memory interface. A codeword includes a first block with a first data portion and a second block with a second data portion. An error correction code symbol in the second block is used to locate and correct errors in the second block. Some bits of the first block are repurposed as metadata. The remaining bits are used as parity bits for detecting errors in the first block. The second block is merged with the first block before being stored to memory and demerged from the first block in a memory read operation. Demerging causes errors in the first block to create errors in a corresponding location in the second block. The location of errors found in the second block is used to locate and correct parity errors in the first block.Type: ApplicationFiled: March 29, 2022Publication date: October 5, 2023Inventors: Massimo Sutera, Nagi Aboulenein, Sandeep Brahmadathan
-
Patent number: 10162750Abstract: System address reconstruction logic in accordance with one embodiment of the present description, reconstructs a system address from a channel address translated from the system address. The system address reconstruction logic includes logic configured to reconstruct one or more systems address fields as a function of the channel address, the number of memory controller target ways of the memory being equal to three, the number of bits of the granularity of interleaving of data among the memory controller target ways, the number of channels per memory controller target way, and the number of bits of the granularity of interleaving of data among the channels of a memory controller target way. Other aspects are described herein.Type: GrantFiled: December 17, 2015Date of Patent: December 25, 2018Assignee: INTEL CORPORATIONInventor: Massimo Sutera
-
Patent number: 10042562Abstract: Provided are an apparatus and method for a non-power-of-2 size cache in a first level memory device to cache data present in a second level memory device having a 2n cache size. A request is to a target address having n bits directed to the second level memory device. A determination is made whether a target index, comprising m bits of the n bits of the target address, is within an index set of the first level memory device. A determination is made of a modified target index in the index set of the first level memory device having at least one index bit that differs from a corresponding at least one index bit in the target index. The request is processed with respect to data in a cache line at the modified target index in the first level memory device.Type: GrantFiled: August 23, 2017Date of Patent: August 7, 2018Assignee: Intel CorporationInventors: Vedaraman Geetha, Henk G. Neefs, Brian S. Morris, Sreenivas Mandava, Massimo Sutera
-
Patent number: 10007606Abstract: Electronic circuitry of a computing system is described where the computing system includes a multi-level system memory where the multi-level system memory includes a near memory cache. The computing system directs system memory access requests whose addresses map to a same near memory cache slot to a same home caching agent so that the same home caching agent can characterize individual cache lines as inclusive or non-inclusive before forwarding the requests to a system memory controller, and where the computing system directs other system memory access requests to the system memory controller without passing the other requests through a home caching agent. The electronic circuitry is to modify the respective original addresses of the other requests to include a special code that causes the other system memory access requests to map to a specific pre-determined set of slots within the near memory cache.Type: GrantFiled: March 30, 2016Date of Patent: June 26, 2018Assignee: Intel CorporationInventors: Vedaraman Geetha, Brian S. Morris, Binata Bhattacharyya, Massimo Sutera
-
Publication number: 20180004433Abstract: Provided are an apparatus and method for a non-power-of-2 size cache in a first level memory device to cache data present in a second level memory device having a 2n cache size. A request is to a target address having n bits directed to the second level memory device. A determination is made whether a target index, comprising m bits of the n bits of the target address, is within an index set of the first level memory device. A determination is made of a modified target index in the index set of the first level memory device having at least one index bit that differs from a corresponding at least one index bit in the target index. The request is processed with respect to data in a cache line at the modified target index in the first level memory device.Type: ApplicationFiled: August 23, 2017Publication date: January 4, 2018Inventors: Vedaraman GEETHA, Henk G. NEEFS, Brian S. MORRIS, Sreenivas MANDAVA, Massimo SUTERA
-
Publication number: 20170286298Abstract: Electronic circuitry of a computing system is described where the computing system includes a multi-level system memory where the multi-level system memory includes a near memory cache. The computing system directs system memory access requests whose addresses map to a same near memory cache slot to a same home caching agent so that the same home caching agent can characterize individual cache lines as inclusive or non-inclusive before forwarding the requests to a system memory controller, and where the computing system directs other system memory access requests to the system memory controller without passing the other requests through a home caching agent. The electronic circuitry is to modify the respective original addresses of the other requests to include a special code that causes the other system memory access requests to map to a specific pre-determined set of slots within the near memory cache.Type: ApplicationFiled: March 30, 2016Publication date: October 5, 2017Inventors: Vedaraman GEETHA, Brian S. MORRIS, Binata BHATTACHARYYA, Massimo SUTERA
-
Patent number: 9747041Abstract: Provided are an apparatus and method for a non-power-of-2 size cache in a first level memory device to cache data present in a second level memory device having a 2n cache size. A request is to a target address having n bits directed to the second level memory device. A determination is made whether a target index, comprising m bits of the n bits of the target address, is within an index set of the first level memory device. A determination is made of a modified target index in the index set of the first level memory device having at least one index bit that differs from a corresponding at least one index bit in the target index. The request is processed with respect to data in a cache line at the modified target index in the first level memory device.Type: GrantFiled: December 23, 2015Date of Patent: August 29, 2017Assignee: INTEL CORPORATIONInventors: Vedaraman Geetha, Henk G. Neefs, Brian S. Morris, Sreenivas Mandava, Massimo Sutera
-
Patent number: 9734054Abstract: Methods and apparatus related to efficient implementation of geometric series are discussed herein. For example, memory stores data corresponding to a geometric series. Logic, coupled to the memory, generates a channel address based at least in part on a summation of a tag address and one or more geometric series components of the geometric series. Other embodiments are also claimed.Type: GrantFiled: May 23, 2016Date of Patent: August 15, 2017Assignee: Intel CorporationInventor: Massimo Sutera
-
Publication number: 20170185315Abstract: Provided are an apparatus and method for a non-power-of-2 size cache in a first level memory device to cache data present in a second level memory device having a 2n cache size. A request is to a target address having n bits directed to the second level memory device. A determination is made whether a target index, comprising m bits of the n bits of the target address, is within an index set of the first level memory device. A determination is made of a modified target index in the index set of the first level memory device having at least one index bit that differs from a corresponding at least one index bit in the target index. The request is processed with respect to data in a cache line at the modified target index in the first level memory device.Type: ApplicationFiled: December 23, 2015Publication date: June 29, 2017Inventors: Vedaraman Geetha, Henk G. Neefs, Brian S. Morris, Sreenivas Mandava, Massimo Sutera
-
Publication number: 20170177477Abstract: System address reconstruction logic in accordance with one embodiment of the present description, reconstructs a system address from a channel address translated from the system address. The system address reconstruction logic includes logic configured to reconstruct one or more systems address fields as a function of the channel address, the number of memory controller target ways of the memory being equal to three, the number of bits of the granularity of interleaving of data among the memory controller target ways, the number of channels per memory controller target way, and the number of bits of the granularity of interleaving of data among the channels of a memory controller target way. Other aspects are described herein.Type: ApplicationFiled: December 17, 2015Publication date: June 22, 2017Inventor: Massimo SUTERA
-
Patent number: 7721011Abstract: A reordering command queue for reordering memory accesses in a computer system. The reordering command queue may reduce the power that is typically used up in computer systems when performing accesses to main memory by improving the scheduling of memory accesses with a pattern that is optimized for power and which has no (or negligible) impacting on performance. During a compare operation, the address corresponding to the command stored in each of one or more current storage locations of the reordering command queue may be compared to the address corresponding to the command stored in an adjacent storage location to determine whether the commands are in a desired order. In response to one or more of the commands not being in the desired order, a reordering operation may be performed, which may reorder each of the one or more commands from a current storage location to the adjacent storage location.Type: GrantFiled: May 9, 2005Date of Patent: May 18, 2010Assignee: Oracle America, Inc.Inventor: Massimo Sutera
-
Patent number: 6900674Abstract: In an embodiment, present application describes a system and method to detect the alignment of multiple clocks in multi-clock domains system. In some variations, multiple clocks are derived from one or more reference clocks using various PLLs. The derived clocks maintain frequency relationship with the reference clock. In some variations, a relationship between the frequencies of various clocks is used to generate the alignment signals in the domain of one of the clocks.Type: GrantFiled: February 27, 2003Date of Patent: May 31, 2005Assignee: Sun Microsystems, Inc.Inventors: Massimo Sutera, David A. Bunsey, Jr., Daniel Y. Cheung, Lan Lee, Kevin B. Normoyle, Sung-Hun Oh, Shi-Chin Ou-Yang, Ivana Capellano, Fabrizio Romano
-
Patent number: 6832180Abstract: A method for minimizing noise in an integrated circuit is described, the method including choosing a net to be analyzed, determining that the total path length of conductive paths coupled to a driver within the net exceed a maximum acceptable length for that given driver according to the minimum acceptable noise levels for that given net, and inserting at least one buffer within the net at a position which is within the maximum acceptable length for conductive paths coupled to the driver.Type: GrantFiled: October 29, 1999Date of Patent: December 14, 2004Assignee: Sun Microsystems, Inc.Inventors: Massimo Sutera, Alan Smith
-
Publication number: 20040100308Abstract: In an embodiment, present application describes a system and method to detect the alignment of multiple clocks in multi-clock domains system. In some variations, multiple clocks are derived from one or more reference clocks using various PLLs. The derived clocks maintain frequency relationship with the reference clock. In some variations, a relationship between the frequencies of various clocks is used to generate the alignment signals in the domain of one of the clocks.Type: ApplicationFiled: February 27, 2003Publication date: May 27, 2004Applicant: Sun Microsystems, Inc.Inventors: Massimo Sutera, David A. Bunsey, Daniel Y. Cheung, Lan Lee, Kevin B. Normoyle, Sung-Hun Oh, Shi-Chin Ou-Yang, Fabrizio Romano, Ivana Cappellano