Patents by Inventor Michael Oliver McCracken

Michael Oliver McCracken 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: 8824496
    Abstract: A method for arbitration in an arbitration domain. The method includes: receiving, by each node of a plurality of nodes in the arbitration domain, an arbitration request from each sending node of the plurality of nodes in the arbitration domain, where the plurality of nodes in the arbitration domain each use a shared data channel to send data to a set of receiving nodes; assigning, by each node in the arbitration domain, consecutive time slots to each sending node based on a plurality of priorities assigned to the plurality of nodes in the arbitration domain; for each time slot: sending, from the arbitration domain, a switch request to a receiving node designated by the sending node, where the receiving node is in the set of receiving nodes; and sending, by the sending node, data to the receiving node via the shared data channel during the time slot.
    Type: Grant
    Filed: October 30, 2009
    Date of Patent: September 2, 2014
    Assignee: Oracle America, Inc.
    Inventors: Pranay Koka, Michael Oliver McCracken, Herbert Dewitt Schwetman, Jr., Xuezhe Zheng, Ashok Krishnamoorthy
  • Patent number: 8627040
    Abstract: A method for accessing a virtual memory of a processor using a processor-bus-connected flash storage module (PFSM) as a first paging device and a hard disk drive (HDD) as a second paging device, the method including: allocating a first address partition and a second address partition of a virtual memory for a software application of a processor to the first paging device and the second paging device, respectively, identifying a virtual memory page in the first paging device responsive to a page fault of the virtual memory triggered by the software application, sending a page access request to the PFSM for accessing the virtual memory page responsive to the page fault, and receiving the virtual memory page from the PFSM based on a command of the processor bus issued by the PFSM in conjunction with performing a flash memory access in the flash memory using a flash page address.
    Type: Grant
    Filed: December 31, 2012
    Date of Patent: January 7, 2014
    Assignee: Oracle America, Inc.
    Inventors: Pranay Koka, Michael Oliver McCracken, Herbert Dewitt Schwetman, Jr., Jan Lodewijk Bonebakker
  • Patent number: 8473659
    Abstract: A method for arbitration including selecting, for an arbitration interval corresponding to a timeslot, a sending node from a plurality of sending nodes in an arbitration domain, where the plurality of sending nodes include a plurality of source counters; broadcasting, by the sending node and in response to selecting the sending node, a transmitter arbitration request for the timeslot during the arbitration interval; receiving, by the plurality of sending nodes, the transmitter arbitration request; incrementing the plurality of source counters in response to receiving the transmitter arbitration request; and sending, during the timeslot, a data item from the sending node to a receiving node via an optical data channel.
    Type: Grant
    Filed: January 15, 2010
    Date of Patent: June 25, 2013
    Assignee: Oracle America, Inc.
    Inventors: Pranay Koka, Michael Oliver McCracken, Herbert Dewitt Schwetman, Jr., Xuezhe Zheng, Ashok Krishnamoorthy
  • Patent number: 8406623
    Abstract: A system for optical data communication, including: a first sending node including a first data item for transmission to a first receiving node during a first timeslot; a second sending node including a second data item for transmission during a second timeslot; a first optical data link (ODL) and a second ODL; a first output switch configured to switch the first data item from the first sending node onto the first ODL during the first timeslot; a second output switch configured to switch the second data item from the second sending node onto the first ODL during the second timeslot; an optical coupler connecting the first and second ODL; and a first input switch operatively connecting the first receiving node with the second ODL and configured to switch the first data item from the second ODL to the first receiving node during the first timeslot.
    Type: Grant
    Filed: February 17, 2010
    Date of Patent: March 26, 2013
    Assignee: Oracle International Corporation
    Inventors: Pranay Koka, Michael Oliver McCracken, Herbert Dewitt Schwetman, Jr., Xuezhe Zheng, Ashok Krishnamoorthy
  • Patent number: 8370533
    Abstract: A system includes multiple nodes coupled using a network of processor buses. The multiple nodes include a first processor node, including one or more processing cores and main memory, and a flash memory node coupled to the first processor node via a first processor bus of the network of processor buses. The flash memory node includes a flash memory including flash pages, a first memory including a cache partition for storing cached flash pages for the flash pages in the flash memory and a control partition for storing cache control data and contexts of requests to access the flash pages, and a logic module including a direct memory access (DMA) register and configured to receive a first request from the first processor node via the first processor bus to access the flash pages.
    Type: Grant
    Filed: January 6, 2012
    Date of Patent: February 5, 2013
    Assignee: Oracle America, Inc.
    Inventors: Pranay Koka, Michael Oliver McCracken, Herbert Dewitt Schwetman, Jr., Jan Lodewijk Bonebakker
  • Patent number: 8291175
    Abstract: A method for processing a read request identifying an address. The method includes receiving, at a module including a flash memory and a memory buffer, the read request from a requesting processor, mapping, using a coherence directory controller within the module, the address to a cache line in a cache memory associated with a remote processor, and sending a coherency message from the module to the remote processor to change a state of the cache line in the cache memory. The method further includes receiving, at the module, the cache line from the remote processor, sending, using processor bus and in response to the read request, the cache line to the requesting processor, identifying a requested page stored within the flash memory based on the address, storing a copy of the requested page in the memory buffer, and writing the cache line to the copy of the requested page.
    Type: Grant
    Filed: October 16, 2009
    Date of Patent: October 16, 2012
    Assignee: Oracle America, Inc.
    Inventors: Pranay Koka, Michael Oliver McCracken, Herbert Dewitt Schwetman, Jr., Jan Lodewijk Bonebakker
  • Patent number: 8285140
    Abstract: A system including first and second sending nodes, a horizontal optical data link (ODL) having optical signals propagating in opposite directions in first and second waveguide segments, a vertical ODL having optical signals propagating in the same direction throughout third and fourth waveguide segments, a first optical output switch operatively connecting the first sending node and the first waveguide segment and configured to switch first data item onto the first waveguide segment during a first timeslot, a second optical output switch operatively connecting the second sending node and the second waveguide segment and configured to switch second data item onto the second waveguide segment during a second timeslot, and an optical coupler pair operatively connecting the first and second waveguide segments to the third and fourth waveguide segments, respectively, and redirecting the first and the second data items from the horizontal to the vertical ODL.
    Type: Grant
    Filed: March 12, 2010
    Date of Patent: October 9, 2012
    Assignee: Oracle International Corporation
    Inventors: Michael Oliver McCracken, Pranay Koka, Herbert Dewitt Schwetman, Jr., Xuezhe Zheng, Ashok Krishnamoorthy
  • Patent number: 8176220
    Abstract: A system includes multiple nodes coupled using a network of processor buses. The multiple nodes include a first processor node, including one or more processing cores and main memory, and a flash memory node coupled to the first processor node via a first processor bus of the network of processor buses. The flash memory node includes a flash memory including flash pages, a first memory including a cache partition for storing cached flash pages for the flash pages in the flash memory and a control partition for storing cache control data and contexts of requests to access the flash pages, and a logic module including a direct memory access (DMA) register and configured to receive a first request from the first processor node via the first processor bus to access the flash pages.
    Type: Grant
    Filed: October 1, 2009
    Date of Patent: May 8, 2012
    Assignee: Oracle America, Inc.
    Inventors: Pranay Koka, Michael Oliver McCracken, Herbert Dewitt Schwetman, Jr., Jan Lodewijk Bonebakker
  • Publication number: 20120110251
    Abstract: A system includes multiple nodes coupled using a network of processor buses. The multiple nodes include a first processor node, including one or more processing cores and main memory, and a flash memory node coupled to the first processor node via a first processor bus of the network of processor buses. The flash memory node includes a flash memory including flash pages, a first memory including a cache partition for storing cached flash pages for the flash pages in the flash memory and a control partition for storing cache control data and contexts of requests to access the flash pages, and a logic module including a direct memory access (DMA) register and configured to receive a first request from the first processor node via the first processor bus to access the flash pages.
    Type: Application
    Filed: January 6, 2012
    Publication date: May 3, 2012
    Applicant: ORACLE AMERICA, INC.
    Inventors: Pranay Koka, Michael Oliver McCracken, Herbert Dewitt Schwetman, JR., Jan Lodewijk Bonebakker
  • Publication number: 20110200332
    Abstract: A system including first and second sending nodes, a horizontal optical data link (ODL) having optical signals propagating in opposite directions in first and second waveguide segments, a vertical ODL having optical signals propagating in the same direction throughout third and fourth waveguide segments, a first optical output switch operatively connecting the first sending node and the first waveguide segment and configured to switch first data item onto the first waveguide segment during a first timeslot, a second optical output switch operatively connecting the second sending node and the second waveguide segment and configured to switch second data item onto the second waveguide segment during a second timeslot, and an optical coupler pair operatively connecting the first and second waveguide segments to the third and fourth waveguide segments, respectively, and redirecting the first and the second data items from the horizontal to the vertical ODL.
    Type: Application
    Filed: March 12, 2010
    Publication date: August 18, 2011
    Applicant: Oracle International Corporation
    Inventors: Michael Oliver McCracken, Pranay Koka, Herbert Dewitt Schwetman, Xuezhe Zheng, Ashok Krishnamoorthy
  • Publication number: 20110200335
    Abstract: A system for optical data communication, including: a first sending node including a first data item for transmission to a first receiving node during a first timeslot; a second sending node including a second data item for transmission during a second timeslot; a first optical data link (ODL) and a second ODL; a first output switch configured to switch the first data item from the first sending node onto the first ODL during the first timeslot; a second output switch configured to switch the second data item from the second sending node onto the first ODL during the second timeslot; an optical coupler connecting the first and second ODL; and a first input switch operatively connecting the first receiving node with the second ODL and configured to switch the first data item from the second ODL to the first receiving node during the first timeslot.
    Type: Application
    Filed: February 17, 2010
    Publication date: August 18, 2011
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Pranay Koka, Michael Oliver McCracken, Herbert Dewitt Schwetman, Xuezhe Zheng, Ashok Krishnamoorthy
  • Publication number: 20110179208
    Abstract: A method for arbitration including selecting, for an arbitration interval corresponding to a timeslot, a sending node from a plurality of sending nodes in an arbitration domain, where the plurality of sending nodes include a plurality of source counters; broadcasting, by the sending node and in response to selecting the sending node, a transmitter arbitration request for the timeslot during the arbitration interval; receiving, by the plurality of sending nodes, the transmitter arbitration request; incrementing the plurality of source counters in response to receiving the transmitter arbitration request; and sending, during the timeslot, a data item from the sending node to a receiving node via an optical data channel.
    Type: Application
    Filed: January 15, 2010
    Publication date: July 21, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Pranay Koka, Michael Oliver McCracken, Herbert Dewitt Schwetman, JR., Xuezhe Zheng, Ashok Krishnamoorthy
  • Publication number: 20110103397
    Abstract: A method for arbitration in an arbitration domain. The method includes: receiving, by each node of a plurality of nodes in the arbitration domain, an arbitration request from each sending node of the plurality of nodes in the arbitration domain, where the plurality of nodes in the arbitration domain each use a shared data channel to send data to a set of receiving nodes; assigning, by each node in the arbitration domain, consecutive time slots to each sending node based on a plurality of priorities assigned to the plurality of nodes in the arbitration domain; for each time slot: sending, from the arbitration domain, a switch request to a receiving node designated by the sending node, where the receiving node is in the set of receiving nodes; and sending, by the sending node, data to the receiving node via the shared data channel during the time slot.
    Type: Application
    Filed: October 30, 2009
    Publication date: May 5, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Pranay Koka, Michael Oliver McCracken, Herbert DeWitt Schwetman, JR., Xuezhe Zheng, Ashok Krishnamoorthy
  • Publication number: 20110093646
    Abstract: A method for processing a read request identifying an address. The method includes receiving, at a module including a flash memory and a memory buffer, the read request from a requesting processor, mapping, using a coherence directory controller within the module, the address to a cache line in a cache memory associated with a remote processor, and sending a coherency message from the module to the remote processor to change a state of the cache line in the cache memory. The method further includes receiving, at the module, the cache line from the remote processor, sending, using processor bus and in response to the read request, the cache line to the requesting processor, identifying a requested page stored within the flash memory based on the address, storing a copy of the requested page in the memory buffer, and writing the cache line to the copy of the requested page.
    Type: Application
    Filed: October 16, 2009
    Publication date: April 21, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Pranay Koka, Michael Oliver McCracken, Herbert Dewitt Schwetman, JR., Jan Lodewijk Bonebakker
  • Publication number: 20110082965
    Abstract: A system includes multiple nodes coupled using a network of processor buses. The multiple nodes include a first processor node, including one or more processing cores and main memory, and a flash memory node coupled to the first processor node via a first processor bus of the network of processor buses. The flash memory node includes a flash memory including flash pages, a first memory including a cache partition for storing cached flash pages for the flash pages in the flash memory and a control partition for storing cache control data and contexts of requests to access the flash pages, and a logic module including a direct memory access (DMA) register and configured to receive a first request from the first processor node via the first processor bus to access the flash pages.
    Type: Application
    Filed: October 1, 2009
    Publication date: April 7, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Pranay Koka, Michael Oliver McCracken, Herbert Dewitt Schwetman, JR., Jan Lodewijk Bonebakker