Patents by Inventor Ryan S. Haraden
Ryan S. Haraden 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: 12020151Abstract: Each processor of the SIMD array performs the computations for a respective neuron of a neural network. As part of this computation, each processor of the SIMD array multiplies an input to a weight and accumulates the result for its assigned neuron each (MAC) instruction cycle. A table in a first memory is used to store which input is fed to each processor of the SIMD array. A crossbar is used to route a specific input to each processor each MAC cycle. A second memory is used to provide the appropriate weight to each processor that corresponds the input being routed to that processor.Type: GrantFiled: May 13, 2021Date of Patent: June 25, 2024Assignee: Microsoft Technology Licensing, LLCInventors: Shankar S. Narayan, Ryan S. Haraden
-
Patent number: 11916553Abstract: An integrated circuit includes a pipeline of compare logic stages. The pipeline, at successive pipeline stages, determines whether each of a set of input symbols meets a corresponding programmable criteria. The compare logic stages each compare the set of input symbols to a respective programmable value. The compare logic stages also each provide, to a respective successive compare logic stage, a corresponding plurality of indicators of whether respective ones of the set of input symbols met the corresponding programmable criteria for that compare logic stage. The corresponding programmable criteria are configurable to be based at least in part on the corresponding plurality of indicators from a respective previous compare logic stage.Type: GrantFiled: October 11, 2022Date of Patent: February 27, 2024Assignee: Microsoft Technology Licensing, LLCInventors: Ryan S. Haraden, Shankar S. Narayan
-
Publication number: 20230214449Abstract: An integrated circuit includes a pipeline of compare logic stages. The pipeline, at successive pipeline stages, determines whether each of a set of input symbols meets a corresponding programmable criteria. The compare logic stages each compare the set of input symbols to a respective programmable value. The compare logic stages also each provide, to a respective successive compare logic stage, a corresponding plurality of indicators of whether respective ones of the set of input symbols met the corresponding programmable criteria for that compare logic stage. The corresponding programmable criteria are configurable to be based at least in part on the corresponding plurality of indicators from a respective previous compare logic stage.Type: ApplicationFiled: October 11, 2022Publication date: July 6, 2023Applicant: Microsoft Technology Licensing, LLCInventors: Ryan S. HARADEN, Shankar S. NARAYAN
-
Patent number: 11481569Abstract: An integrated circuit includes a pipeline of compare logic stages. The pipeline, at successive pipeline stages, determines whether each of a set of input symbols meets a corresponding programmable criteria. The compare logic stages each compare the set of input symbols to a respective programmable value. The compare logic stages also each provide, to a respective successive compare logic stage, a corresponding plurality of indicators of whether respective ones of the set of input symbols met the corresponding programmable criteria for that compare logic stage. The corresponding programmable criteria are configurable to be based at least in part on the corresponding plurality of indicators from a respective previous compare logic stage.Type: GrantFiled: November 18, 2019Date of Patent: October 25, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Ryan S. Haraden, Shankar S. Narayan
-
Publication number: 20210264273Abstract: Each processor of the SIMD array performs the computations for a respective neuron of a neural network. As part of this computation, each processor of the SIMD array multiplies an input to a weight and accumulates the result for its assigned neuron each (MAC) instruction cycle. A table in a first memory is used to store which input is fed to each processor of the SIMD array. A crossbar is used to route a specific input to each processor each MAC cycle. A second memory is used to provide the appropriate weight to each processor that corresponds the input being routed to that processor.Type: ApplicationFiled: May 13, 2021Publication date: August 26, 2021Applicant: Microsoft Technology Licensing, LLCInventors: Shankar S. Narayan, Ryan S. Haraden
-
Patent number: 11023807Abstract: Each processor of the SIMD array performs the computations for a respective neuron of a neural network. As part of this computation, each processor of the SIMD array multiplies an input to a weight and accumulates the result for its assigned neuron each (MAC) instruction cycle. A table in a first memory is used to store which input is fed to each processor of the SIMD array. A crossbar is used to route a specific input to each processor each MAC cycle. A second memory is used to provide the appropriate weight to each processor that corresponds the input being routed to that processor.Type: GrantFiled: August 11, 2017Date of Patent: June 1, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Shankar S. Narayan, Ryan S. Haraden
-
Publication number: 20200091916Abstract: An integrated circuit includes a pipeline of compare logic stages. The pipeline, at successive pipeline stages, determines whether each of a set of input symbols meets a corresponding programmable criteria. The compare logic stages each compare the set of input symbols to a respective programmable value. The compare logic stages also each provide, to a respective successive compare logic stage, a corresponding plurality of indicators of whether respective ones of the set of input symbols met the corresponding programmable criteria for that compare logic stage. The corresponding programmable criteria are configurable to be based at least in part on the corresponding plurality of indicators from a respective previous compare logic stage.Type: ApplicationFiled: November 18, 2019Publication date: March 19, 2020Applicant: Microsoft Technology Licensing, LLCInventors: Ryan S. HARADEN, Shankar S. NARAYAN
-
Patent number: 10483981Abstract: An integrated circuit includes a pipeline of compare logic stages. The pipeline, at successive pipeline stages, determines whether each of a set of input symbols meets a corresponding programmable criteria. The compare logic stages each compare the set of input symbols to a respective programmable value. The compare logic stages also each provide, to a respective successive compare logic stage, a corresponding plurality of indicators of whether respective ones of the set of input symbols met the corresponding programmable criteria for that compare logic stage. The corresponding programmable criteria are configurable to be based at least in part on the corresponding plurality of indicators from a respective previous compare logic stage.Type: GrantFiled: June 30, 2017Date of Patent: November 19, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Ryan S. Haraden, Shankar S. Narayan
-
Publication number: 20180191354Abstract: An integrated circuit includes a pipeline of compare logic stages. The pipeline, at successive pipeline stages, determines whether each of a set of input symbols meets a corresponding programmable criteria. The compare logic stages each compare the set of input symbols to a respective programmable value. The compare logic stages also each provide, to a respective successive compare logic stage, a corresponding plurality of indicators of whether respective ones of the set of input symbols met the corresponding programmable criteria for that compare logic stage. The corresponding programmable criteria are configurable to be based at least in part on the corresponding plurality of indicators from a respective previous compare logic stage.Type: ApplicationFiled: June 30, 2017Publication date: July 5, 2018Inventors: Ryan S. HARADEN, Shankar S. NARAYAN
-
Publication number: 20180189649Abstract: Each processor of the SIMD array performs the computations for a respective neuron of a neural network. As part of this computation, each processor of the SIMD array multiplies an input to a weight and accumulates the result for its assigned neuron each (MAC) instruction cycle. A table in a first memory is used to store which input is fed to each processor of the SIMD array. A crossbar is used to route a specific input to each processor each MAC cycle. A second memory is used to provide the appropriate weight to each processor that corresponds the input being routed to that processor.Type: ApplicationFiled: August 11, 2017Publication date: July 5, 2018Inventors: Shankar S. NARAYAN, Ryan S. HARADEN
-
Patent number: 8572455Abstract: Systems and methods to respond to error detection are provided. First data may be received at a first memory controller port in response to a read command issued from the first memory controller port. The read command may be issued as a second read command from a second memory controller port after determining that the first data contains a first uncorrectable error. Second data may be received at the second memory controller port in response to the second read command. A repair write command may be issued from the first memory controller port after determining that the second data does not contain any errors. The repair write command may initiate writing the second data from the first memory controller port.Type: GrantFiled: August 24, 2009Date of Patent: October 29, 2013Assignee: International Business Machines CorporationInventors: H. Lee Blackmon, Ryan S. Haraden, Joseph A. Kirscht, Elizabeth A. McGlone
-
Patent number: 8539309Abstract: Systems and methods to respond to error detection are provided. A particular method may include issuing a first command to a first redrive device and a second command to a second redrive device. The method may also include reissuing the second command to the second redrive device in response to detecting a transmission error between a memory controller and the second redrive device. The method may further include storing at a first buffer first data that is received from the first redrive device in response to the first command. The method may include storing at a second buffer second data that is received from the second redrive device in response to the reissued second command. The method also may include merging the second data with the first data.Type: GrantFiled: September 17, 2009Date of Patent: September 17, 2013Assignee: International Business Machines CorporationInventors: H. Lee Blackmon, Ryan S. Haraden, Joseph A. Kirscht, Elizabeth A. McGlone
-
Patent number: 8397100Abstract: Systems and methods to manage memory refreshes at a memory controller are disclosed. A method includes determining, at a memory controller device, that a number of transmission errors between a memory controller port and a memory redrive device exceeds an error threshold. The method may include initiating a first link retraining process between the memory controller port and the memory redrive device. The method may further include placing one or more dynamic random access memory modules associated with the memory redrive device in a self-refresh mode. The method may also include removing the one or more dynamic random access memory modules from the self-refresh mode after the link retraining process has completed. The method may further include enabling overlapping refreshes of the one or more dynamic random access memory modules.Type: GrantFiled: March 15, 2010Date of Patent: March 12, 2013Assignee: International Business Machines CorporationInventors: H. Lee Blackmon, Ronald E. Freking, Ryan S. Haraden, Joseph A. Kirscht, Elizabeth A. McGlone
-
Patent number: 8352786Abstract: A compressed replay buffer in a first electronic unit of an electronic system holds commands in a table. As commands are transmitted from the first electronic unit to a second electronic unit, the command, along with associated data, command type, and the like are stored in a row in the table. No rows in the table contain “dead cycles” to indicate that no command was sent on a particular cycle on a bus over which the commands were transmitted. The second electronic unit may request that the first electronic unit replay some number of commands. In response, the first electronic unit uses commands in the compressed replay buffer, along with required timings stored on the first electronic unit, to replay the number of commands requested.Type: GrantFiled: July 20, 2010Date of Patent: January 8, 2013Assignee: International Business Machines CorporationInventors: Herman L. Blackmon, Ryan S. Haraden, Joseph A. Kirscht, Elizabeth A. McGlone
-
Patent number: 8140922Abstract: In a method of handling errors in a digital system that includes a root complex in data communication with at least one endpoint, the endpoint including at least one advanced error reporting register, an error is detected by the endpoint. Error data indicative of the error is stored in an advanced error reporting register. An indication of which transaction caused the error is stored in a secondary location. An error message packet that includes the error data and the indication of which transaction caused the error is generated. The error message packet is transmitted to the root complex. The root complex is caused to take a preselected action in response to the error message packet.Type: GrantFiled: May 20, 2008Date of Patent: March 20, 2012Assignee: International Business Machines CorporationInventors: Ryan S. Haraden, Gregory M. Nordstrom, Vikramjit Sethi
-
Patent number: 8135923Abstract: In a method for enabling a root device to access a plurality of memory locations in an address space in an endpoint device, a first access is sent to the endpoint device by transmitting a first header and a first address. The header includes a continue bit that is set at a first state that indicates that the first access is accessing a selected first memory location that the address is being sent. A first memory location is accessed when the continue bit is in the first state. A second access, which accesses accessing a second memory location that is contiguous to an immediately previously accessed memory location, is sent to the endpoint device by transmitting a header that includes a continue bit set to a second state and not sending an address. The second memory location corresponds to the first address plus a predetermined address offset.Type: GrantFiled: April 26, 2007Date of Patent: March 13, 2012Assignee: International Business Machines CorporationInventors: Ryan S. Haraden, Adalberto G. Yanes
-
Patent number: 8132048Abstract: Systems and methods to respond to schedule commands at a memory controller are disclosed. A transmission error between a first memory controller port and a first redrive device may be detected. A first corrective action may be initiated at the first memory controller port in response to the detection of the transmission error. A particular method may include determining that a second memory controller port initiated a second corrective action. Incoming read commands may be distributed based on a comparison of the first corrective action and the second corrective action.Type: GrantFiled: August 21, 2009Date of Patent: March 6, 2012Assignee: International Business Machines CorporationInventors: H. Lee Blackmon, Ryan S. Haraden, Joseph A. Kirscht, Elizabeth A. McGlone
-
Publication number: 20120023368Abstract: A compressed replay buffer in a first electronic unit of an electronic system holds commands in a table. As commands are transmitted from the first electronic unit to a second electronic unit, the command, along with associated data, command type, and the like are stored in a row in the table. No rows in the table contain “dead cycles” to indicate that no command was sent on a particular cycle on a bus over which the commands were transmitted. The second electronic unit may request that the first electronic unit replay some number of commands. In response, the first electronic unit uses commands in the compressed replay buffer, along with required timings stored on the first electronic unit, to replay the number of commands requested.Type: ApplicationFiled: July 20, 2010Publication date: January 26, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Herman L. Blackmon, Ryan S. Haraden, Joseph A. Kirscht, Elizabeth A. McGlone
-
Publication number: 20110225465Abstract: Systems and methods to manage memory refreshes at a memory controller are disclosed. A method includes determining, at a memory controller device, that a number of transmission errors between a memory controller port and a memory redrive device exceeds an error threshold. The method may include initiating a first link retraining process between the memory controller port and the memory redrive device. The method may further include placing one or more dynamic random access memory modules associated with the memory redrive device in a self-refresh mode. The method may also include removing the one or more dynamic random access memory modules from the self-refresh mode after the link retraining process has completed. The method may further include enabling overlapping refreshes of the one or more dynamic random access memory modules.Type: ApplicationFiled: March 15, 2010Publication date: September 15, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: H. Lee Blackmon, Ronald E. Freking, Ryan S. Haraden, Joseph A. Kirscht, Elizabeth A. McGlone
-
Publication number: 20110066921Abstract: Systems and methods to respond to error detection are provided. A particular method may include issuing a first command to a first redrive device and a second command to a second redrive device. The method may also include reissuing the second command to the second redrive device in response to detecting a transmission error between a memory controller and the second redrive device. The method may further include storing at a first buffer first data that is received from the first redrive device in response to the first command. The method may include storing at a second buffer second data that is received from the second redrive device in response to the reissued second command. The method also may include merging the second data with the first data.Type: ApplicationFiled: September 17, 2009Publication date: March 17, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: H. Lee Blackmon, Ryan S. Haraden, Joseph A. Kirscht, Elizabeth A. McGlone