Patents by Inventor Sanjiv Kapil
Sanjiv Kapil 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: 9817762Abstract: The disclosed embodiments relate to a computing system that facilitates performing prefetching for scatter/gather operations. During operation, the system receives a scatter/gather prefetch instruction at a processor core, wherein the scatter/gather prefetch instruction specifies a virtual base address, and a plurality of offsets. Next, the system performs a lookup in a translation-lookaside buffer (TLB) using the virtual base address to obtain a physical base address that identifies a physical page for the base address. The system then sends the physical base address and the plurality of offsets to a cache. This enables the cache to perform prefetching operations for the scatter/gather instruction by adding the physical base address to the plurality of offsets to produce a plurality of physical addresses, and then prefetching cache lines for the plurality of physical addresses into the cache.Type: GrantFiled: May 20, 2014Date of Patent: November 14, 2017Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Sanjiv Kapil, Darryl J. Gove
-
Patent number: 9542443Abstract: Techniques for processing a query are provided. One or more operations that are required to process a query are performed by a coprocessor that is separate from a general purpose microprocessor that executes query processing software. The query processing software receives a query, determines one or more operations that are required to be executed to fully process the query, and issues one or more commands to one or more coprocessors that are programmed to perform one of the operations, such as a table scan operation and/or a lookup operation. The query processing software obtains results from the coprocessor(s) and performs one or more additional operations thereon to generate a final result of the query.Type: GrantFiled: May 11, 2015Date of Patent: January 10, 2017Assignee: Oracle International CorporationInventors: Kathirgamar Aingaran, Garret F Swart, Sanjiv Kapil
-
Patent number: 9400821Abstract: A system and method for transferring data and messages between nodes in a cluster is disclosed. Each node in the cluster is a separate physical domain but is connected to other nodes in the cluster through point-to-point high speed links. Each side of a link is coupled to a coprocessor which facilitates the movement of data between and among the nodes. Because each physical domain is separate from any other domain, the coprocessor in a physical domain uses a certificate, called and RKey, to obtain permission to transfer data to another physical domain. When an RKey is received from another physical domain, the coprocessor in the receiving domain validates the key and obtains the physical addresses associated with the key so that it can provide or accept the remote data. Data transfers between pairs of remote nodes in the cluster are permitted as well.Type: GrantFiled: March 15, 2013Date of Patent: July 26, 2016Assignee: Oracle International CorporationInventors: Sanjiv Kapil, Zoran Radovic
-
Patent number: 9372813Abstract: A system and method implementing revocable secure remote keys is disclosed. A plurality of indexed base secrets is stored in a register of a coprocessor of a local node coupled with a local memory. When it is determined that a selected base secret expired, the base secret stored in the register based on the base secret index is changed, thereby invalidating remote keys generated based on the expired base secret. A remote key with validation data and a base secret index is received from a node requesting access to the local memory. A validation base secret is obtained from the register based on the base secret index. The coprocessor performs hardware validation on the validation data based on the validation base secret. Hardware validation fails if the base secret associated with the base secret index has been changed in the register of the selected coprocessor.Type: GrantFiled: March 15, 2013Date of Patent: June 21, 2016Assignee: Oracle International CorporationInventors: Sanjiv Kapil, Garret F. Swart, Aings Aingaran, William H. Bridge, Jr., Sumti Jairath, John G. Johnson
-
Patent number: 9208084Abstract: A computer system with flash memory in the main memory hierarchy is disclosed. In an embodiment, the computer system includes at least one processor, a memory management unit coupled to the at least one processor, and a random access memory (RAM) coupled to the memory management unit. The computer system may also include a flash memory coupled to the memory management unit, wherein the computer system is configured to store at least a subset of a plurality of pages in the flash memory during operation. Responsive to a page fault, the memory management unit may determine, without invoking an I/O driver, if a requested page associated with the page fault is stored in the flash memory and further configured to, if the page is stored in the flash memory, transfer the page into RAM.Type: GrantFiled: June 29, 2009Date of Patent: December 8, 2015Assignee: Oracle America, Inc.Inventors: Sanjiv Kapil, Ricky C. Hetherington
-
Publication number: 20150339233Abstract: The disclosed embodiments relate to a computing system that facilitates performing prefetching for scatter/gather operations. During operation, the system receives a scatter/gather prefetch instruction at a processor core, wherein the scatter/gather prefetch instruction specifies a virtual base address, and a plurality of offsets. Next, the system performs a lookup in a translation-lookaside buffer (TLB) using the virtual base address to obtain a physical base address that identifies a physical page for the base address. The system then sends the physical base address and the plurality of offsets to a cache. This enables the cache to perform prefetching operations for the scatter/gather instruction by adding the physical base address to the plurality of offsets to produce a plurality of physical addresses, and then prefetching cache lines for the plurality of physical addresses into the cache.Type: ApplicationFiled: May 20, 2014Publication date: November 26, 2015Inventors: Sanjiv Kapil, Darryl J. Gove
-
Patent number: 9180034Abstract: Devices and methods for assisting weight control where the device is inserted into the mouth of a patient between opposing rear molar teeth. The inserted devices cause an increase in resistance to chewing, which then slows eating by the person. The devices can include elastic bands, magnets, shock absorbers, combinations, thereof and sensors for detecting strength and frequency of chewing.Type: GrantFiled: January 3, 2013Date of Patent: November 10, 2015Inventor: Sanjiv Kapil
-
Publication number: 20150261871Abstract: Techniques for processing a query are provided. One or more operations that are required to process a query are performed by a coprocessor that is separate from a general purpose microprocessor that executes query processing software. The query processing software receives a query, determines one or more operations that are required to be executed to fully process the query, and issues one or more commands to one or more coprocessors that are programmed to perform one of the operations, such as a table scan operation and/or a lookup operation. The query processing software obtains results from the coprocessor(s) and performs one or more additional operations thereon to generate a final result of the query.Type: ApplicationFiled: May 11, 2015Publication date: September 17, 2015Inventors: Kathirgamar Aingaran, Garret F. Swart, Sanjiv Kapil
-
Patent number: 9063974Abstract: Techniques for processing a query are provided. One or more operations that are required to process a query are performed by a coprocessor that is separate from a general purpose microprocessor that executes query processing software. The query processing software receives a query, determines one or more operations that are required to be executed to fully process the query, and issues one or more commands to one or more coprocessors that are programmed to perform one of the operations, such as a table scan operation and/or a lookup operation. The query processing software obtains results from the coprocessor(s) and performs one or more additional operations thereon to generate a final result of the query.Type: GrantFiled: February 26, 2013Date of Patent: June 23, 2015Assignee: Oracle International CorporationInventors: Kathirgamar Aingaran, Garret F. Swart, Sanjiv Kapil
-
Patent number: 8819359Abstract: A memory system that interleaves storage of data across and within a plurality memory modules is described. The memory system includes a hybrid interleaving mechanism which maps physical addresses to locations within memory modules and ranks so that physical addresses for a given page all map to the same memory module, and physical addresses for the given page are interleaved across the plurality of ranks which comprise the same memory module.Type: GrantFiled: June 29, 2009Date of Patent: August 26, 2014Assignee: Oracle America, Inc.Inventors: Sanjiv Kapil, Blake Alan Jones
-
Publication number: 20140095651Abstract: A system and method for transferring data and messages between nodes in a cluster is disclosed. Each node in the cluster is a separate physical domain but is connected to other nodes in the cluster through point-to-point high speed links. Each side of a link is coupled to a coprocessor which facilitates the movement of data between and among the nodes. Because each physical domain is separate from any other domain, the coprocessor in a physical domain uses a certificate, called and RKey, to obtain permission to transfer data to another physical domain. When an RKey is received from another physical domain, the coprocessor in the receiving domain validates the key and obtains the physical addresses associated with the key so that it can provide or accept the remote data. Data transfers between pairs of remote nodes in the cluster are permitted as well.Type: ApplicationFiled: March 15, 2013Publication date: April 3, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Sanjiv Kapil, Zoran Radovic
-
Publication number: 20140095805Abstract: A system and method implementing revocable secure remote keys is disclosed. A plurality of indexed base secrets is stored in a register of a coprocessor of a local node coupled with a local memory. When it is determined that a selected base secret expired, the base secret stored in the register based on the base secret index is changed, thereby invalidating remote keys generated based on the expired base secret. A remote key with validation data and a base secret index is received from a node requesting access to the local memory. A validation base secret is obtained from the register based on the base secret index. The coprocessor performs hardware validation on the validation data based on the validation base secret. Hardware validation fails if the base secret associated with the base secret index has been changed in the register of the selected coprocessor.Type: ApplicationFiled: March 15, 2013Publication date: April 3, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: SANJIV KAPIL, GARRET F. SWART, AINGS AINGARAN, WILLIAM H. BRIDGE, JR., SUMTI JAIRATH, JOHN G. JOHNSON
-
Publication number: 20140095468Abstract: Techniques for processing a query are provided. One or more operations that are required to process a query are performed by a coprocessor that is separate from a general purpose microprocessor that executes query processing software. The query processing software receives a query, determines one or more operations that are required to be executed to fully process the query, and issues one or more commands to one or more coprocessors that are programmed to perform one of the operations, such as a table scan operation and/or a lookup operation. The query processing software obtains results from the coprocessor(s) and performs one or more additional operations thereon to generate a final result of the query.Type: ApplicationFiled: February 26, 2013Publication date: April 3, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Kathirgamar Aingaran, Garret F. Swart, Sanjiv Kapil
-
Patent number: 8208467Abstract: The described embodiments include a system that modulates the width of a high-speed link. The system includes a transmitter circuit coupled to a high-speed link that includes N serial lanes. During operation, while using a first number of lanes to transmit frames on the high-speed link, the transmitter circuit determines a second number of lanes to be used to transmit frames on the high-speed link based on a bandwidth demand on the high-speed link. The transmitter circuit then sends an indicator of the second number of lanes to a receiver on the high-speed link. Upon receiving an error-free acknowledgment of the indicator from the receiver, starting from a predetermined frame, the transmitter circuit transmits subsequent frames on the high-speed link using the second number of lanes.Type: GrantFiled: June 16, 2009Date of Patent: June 26, 2012Assignee: Oracle America, Inc.Inventors: Sanjiv Kapil, David J. Greenhill, Robert P. Masleid
-
Patent number: 8180981Abstract: System and method for using flash memory in a memory hierarchy. A computer system includes a processor coupled to a memory hierarchy via a memory controller. The memory hierarchy includes a cache memory, a first memory region of random access memory coupled to the memory controller via a first buffer, and an auxiliary memory region of flash memory coupled to the memory controller via a flash controller. The first buffer and the flash controller are coupled to the memory controller via a single interface. The memory controller receives a request to access a particular page in the first memory region. The processor detects a page fault corresponding to the request and in response, invalidates cache lines in the cache memory that correspond to the particular page, flushes the invalid cache lines, and swaps a page from the auxiliary memory region to the first memory region.Type: GrantFiled: May 15, 2009Date of Patent: May 15, 2012Assignee: Oracle America, Inc.Inventors: Sanjiv Kapil, Ricky C. Hetherington
-
Patent number: 8166316Abstract: In an embodiment, a system comprises a first memory module interface unit (MMIU) configured to couple to a first one or more memory modules, and a second MMIU configured to couple to a second one or more memory modules. The first MMIU is configured to operate the first one or more memory modules at a first frequency and the second MMIU is configured to concurrently operate the second one or more memory modules at a second operating frequency different from the first operating frequency.Type: GrantFiled: June 27, 2008Date of Patent: April 24, 2012Assignee: Oracle America, Inc.Inventor: Sanjiv Kapil
-
Patent number: 8127153Abstract: In an embodiment, an apparatus comprises one or more registers and a control unit coupled to the one or more registers. The control unit is configured to monitor a power state in one or more memory modules during execution of an application, and to store data generated during the monitoring in the one or more registers. In an embodiment, a system comprises a memory controller and a plurality of memory module interface units (MMIUs) coupled to the memory controller. Each of the plurality of MMIUs: is coupled to a respective plurality of memory modules; comprises one or more registers; is configured to monitor a power state in the respective plurality of memory modules during execution of an application; and is configured to store data generated during the monitoring in the one or more registers.Type: GrantFiled: July 29, 2008Date of Patent: February 28, 2012Assignee: Oracle America, Inc.Inventor: Sanjiv Kapil
-
Publication number: 20100332727Abstract: A computer system with flash memory in the main memory hierarchy is disclosed. In an embodiment, the computer system includes at least one processor, a memory management unit coupled to the at least one processor, and a random access memory (RAM) coupled to the memory management unit. The computer system may also include a flash memory coupled to the memory management unit, wherein the computer system is configured to store at least a subset of a plurality of pages in the flash memory during operation. Responsive to a page fault, the memory management unit may determine, without invoking an I/O driver, if a requested page associated with the page fault is stored in the flash memory and further configured to, if the page is stored in the flash memory, transfer the page into RAM.Type: ApplicationFiled: June 29, 2009Publication date: December 30, 2010Inventors: Sanjiv Kapil, Ricky C. Hetherington
-
Publication number: 20100332775Abstract: A memory system that interleaves storage of data across and within a plurality memory modules is described. The memory system includes a hybrid interleaving mechanism which maps physical addresses to locations within memory modules and ranks so that physical addresses for a given page all map to the same memory module, and physical addresses for the given page are interleaved across the plurality of ranks which comprise the same memory module.Type: ApplicationFiled: June 29, 2009Publication date: December 30, 2010Applicant: SUN MICROSYSTEMS, INC.Inventors: Sanjiv Kapil, Blake Alan Jones
-
Publication number: 20100316065Abstract: The described embodiments include a system that modulates the width of a high-speed link. The system includes a transmitter circuit coupled to a high-speed link that includes N serial lanes. During operation, while using a first number of lanes to transmit frames on the high-speed link, the transmitter circuit determines a second number of lanes to be used to transmit frames on the high-speed link based on a bandwidth demand on the high-speed link. The transmitter circuit then sends an indicator of the second number of lanes to a receiver on the high-speed link. Upon receiving an error-free acknowledgment of the indicator from the receiver, starting from a predetermined frame, the transmitter circuit transmits subsequent frames on the high-speed link using the second number of lanes.Type: ApplicationFiled: June 16, 2009Publication date: December 16, 2010Applicant: SUN MICROSYSTEMS, INC.Inventors: Sanjiv Kapil, David J. Greenhill, Robert P. Masleid