Memory Access Pipelining Patents (Class 711/169)
-
Patent number: 12073109Abstract: The system allocates, in a distributed system comprising a plurality of nodes, a plurality of portions of memory which comprise shared remote memory content. The system registers the allocated portions with an operating system to be accessed via RDMA. The system accesses, by a first node, the allocated portions to obtain a local copy. The system performs an atomic operation on one or more bits of the shared remote memory content via libfabric atomic application programming interface calls, by one or more of: updating the one or more bits based on a new value and an offset; retrieving, from the shared remote memory content based on the offset, a current value of the one or more bits prior to the updating; and performing an action on the shared remote memory content based on a comparison of the retrieved current value with an expected value in the local copy.Type: GrantFiled: June 29, 2021Date of Patent: August 27, 2024Assignee: Hewlett Packard Enterprise Development LPInventors: Oleg Neverovitch, Yann Livis, Dmitry L. Ivanov
-
Patent number: 11809341Abstract: A method performed by a device connected to a host processor via a bus includes: providing a first read request including a first address to a memory; receiving a second address stored in a first region of the memory corresponding to the first address, from the memory; providing a second read request including the second address to the memory; and receiving first data stored in a second region of the memory corresponding to the second address, from the memory, wherein the first read request further includes information indicating that the first address is an indirect address of the first data.Type: GrantFiled: July 16, 2021Date of Patent: November 7, 2023Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventors: Jeongho Lee, Ipoom Jeong, Younggeon Yoo, Younho Jeon
-
Patent number: 11663003Abstract: An apparatus and method are described for performing efficient Boolean operations in a pipelined processor which, in one embodiment, does not natively support three operand instructions. For example, in one embodiment, a processor comprises: a set of registers for storing packed operands; Boolean operation logic to execute a single instruction which uses three or more source operands packed in the set of registers, the Boolean operation logic to read at least three source operands and an immediate value to perform a Boolean operation on the three source operands, wherein the Boolean operation comprises: combining a bit read from each of the three operands to form an index to the immediate value, the index identifying a bit position within the immediate value; reading the bit from the identified bit position of the immediate value; and storing the bit from the identified bit position of the immediate value in a destination register.Type: GrantFiled: June 25, 2019Date of Patent: May 30, 2023Assignee: INTEL CORPORATIONInventors: Vinodh Gopal, Wajdi Feghali, Gilbert Wolrich, Kirk Yap
-
Patent number: 11366667Abstract: A microprocessor with a solution to instruction fetching failure is shown. The branch predictor and the instruction cache are decoupled by a fetch target queue. In response to instruction fetching failure of a target fetching address, the instruction cache regains the target fetching address from the fetch target queue to restart the failed instruction fetching.Type: GrantFiled: October 13, 2020Date of Patent: June 21, 2022Assignee: SHANGHAI ZHAOXIN SEMICONDUCTOR CO., LTD.Inventor: Fangong Gong
-
Patent number: 11340875Abstract: A method, apparatus and system for enabling the searchable storage of sequential application programs includes normalizing the sequential application programs, canonicalizing the sequential application programs, determining a unique identifier for each of the sequential application programs, and storing the unique identifier for each of the sequential application programs. The stored, unique identifier for the canonicalized sequential application programs can then be searched to, for example, determine if a sequential application program is stored and/or to certify at least one of the stored, canonicalized sequential application programs.Type: GrantFiled: June 2, 2020Date of Patent: May 24, 2022Assignee: SRI InternationalInventors: Christopher Connolly, Maneesh Yadav, Patrick D. Lincoln
-
Patent number: 11330004Abstract: A system, method, and computer program product are provided for mitigating falsified log data provided to an AI-learning system. In use, from an artificial intelligence (AI) analysis system, suspicious data of a predicted situation is received. Additionally, event log data associated with the predicted situation is received. Simulated log data is created based on the event log data. The simulated log data is sent to the AI analysis system. Imitation data of the predicted situation is received from the AI analysis system. The imitation data of the predicted situation is compared with the suspicious data of a predicted situation to verify the event log data. When the imitation data matches the suspicious data, at least one the suspicious data or an originator of the suspicious data are authenticated.Type: GrantFiled: February 20, 2019Date of Patent: May 10, 2022Assignee: AMDOCS DEVELOPMENT LIMITEDInventors: Ofer Hermoni, Nimrod Sandlerman, Eyal Felstaine
-
Patent number: 11309017Abstract: A memory module with multiple memory devices includes a buffer system that manages communication between a memory controller and the memory devices. Each memory device supports an access mode and a low-power mode, the latter used to save power for devices that are not immediately needed. The module provides granular power management using a chip-select decoder that decodes chip-select signals from the memory controller into power-state signals that determine which of the memory devices are in which of the modes. Devices can thus be brought out of the low-power mode in relatively small numbers, as needed, to limit power consumption.Type: GrantFiled: November 21, 2020Date of Patent: April 19, 2022Assignee: Rambus Inc.Inventors: Frederick A. Ware, James E. Harris
-
Patent number: 11288197Abstract: A method for performing pipeline-based accessing management in a storage server and associated apparatus are provided. The method includes: in response to a request of writing user data into the storage server, utilizing a host device within the storage server to write the user data into a storage device layer of the storage server and start processing an object write command corresponding to the request of writing the user data with a pipeline architecture of the storage server; utilizing the host device to select fixed size buffer pool from a plurality of fixed size buffer pools; utilizing the host device to allocate a buffer from the fixed size buffer pool to be a pipeline module of at least one pipeline within the pipeline architecture, for performing buffering for the at least one pipeline; and utilizing the host device to write metadata corresponding to the user data into the allocated buffer.Type: GrantFiled: November 29, 2020Date of Patent: March 29, 2022Assignee: Silicon Motion Technology (Hong Kong) LimitedInventors: Guo-Fu Tseng, Cheng-Yue Chang, Kuan-Kai Chiu
-
Patent number: 11232014Abstract: According to examples, an apparatus may include a first processing stage device to process data, a second processing stage device to process the processed data, and a control device. The control device may access first performance information of the first processing stage device, determine, from the accessed first performance information, an operational state of the first processing stage device, and determine whether a countermeasure is to be taken based on the determined operational state of the first processing stage device, in which the countermeasure is to improve the operational state of the first processing stage device. The control device may also, based on a determination that a countermeasure is to be taken, output an instruction for the countermeasure to be implemented.Type: GrantFiled: April 30, 2018Date of Patent: January 25, 2022Assignee: Hewlett-Packard Development Company, L.P.Inventors: Bradley R Larson, Paul N Ballard
-
Patent number: 11087803Abstract: An apparatus including a memory structure comprising non-volatile memory cells and a microcontroller. The microcontroller is configured to output Core-Timing-Control (CTC) signals. The CTC signals are used to control voltages that are applied in the memory structure. For example, CTC signals may be used to control the timing of voltages applied to word lines, bit lines, select lines, and other elements or control lines in the memory core. The microcontroller is configured to output CTC signals having many different variations under various modes/parameter conditions. The apparatus may include storage containing reaction data according to dynamic conditions. The microcontroller may be configured to lookup or compute the CTC signals based on the dynamic conditions and the reaction data. Various data storage formats are disclosed, which can be used to efficiently store many varieties of data with minimum usage of memory.Type: GrantFiled: June 18, 2020Date of Patent: August 10, 2021Assignee: SanDisk Technologies LLCInventors: Yuheng Zhang, Po-Shen Lai, Hao Su
-
Patent number: 10963611Abstract: A hardware monitor arranged to assess performance of a hardware design for an integrated circuit to complete a task. The hardware monitor includes monitoring and counting logic configured to count a number of cycles between start and completion of the symbolic task in the hardware design; and property evaluation logic configured to evaluate one or more formal properties related to the counted number of cycles to assess the performance of the hardware design in completing the symbolic task. The hardware monitor may be used by a formal verification tool to exhaustively verify that the hardware design meets a desired performance goal and/or to exhaustively identify a performance metric (e.g. best case and/or worst case performance) with respect to completion of the task.Type: GrantFiled: May 16, 2019Date of Patent: March 30, 2021Assignee: Imagination Technologies LimitedInventors: Ashish Darbari, Iain Singleton
-
Patent number: 10747679Abstract: A contiguous region in memory may be configured to store data so that a first portion of the data is addressable using a first indexing scheme and a second portion of the data is addressable using a second indexing scheme. The first portion of the data may include information which may be used by one entity and the second portion of the data may include different information which may be used by another entity.Type: GrantFiled: December 11, 2017Date of Patent: August 18, 2020Assignee: Amazon Technologies, Inc.Inventors: Steven Scott Larson, Thomas A. Volpe
-
Patent number: 10679227Abstract: A trend analysis computing device is provided. The computing device includes a receiver to receive online data, a trend determiner to determine a trend that is presently happening based on a word or a phrase included in the received online data, a processor to compare the determined trend with a dictionary database of the user to determine if the trend is of interest to the user, and, in response to determining the trend is a trend of interest, add additional data to the trend of interest based on the dictionary database, an analyzer configured to analyze the trend of interest, the added additional data, and user interest data, and generate impact data that the trend of interest is having on the user interest data, and a transmitter to transmit the impact data to the user.Type: GrantFiled: November 6, 2015Date of Patent: June 9, 2020Assignee: MASTERCARD INTERNATIONAL INCORPORATEDInventors: Chinmay Sharad Sagade, Srinivas Kosaraju, John Gerard Gamel
-
Patent number: 10656948Abstract: This invention provides a cache system and method based on instruction read buffer (IRB). When applied to the field of processor, it is capable of filling instructions to the instruction read buffer which can be directly accessed by processor core and the processor core outputs instruction to the processor core for execution autonomously and achieve a high cache hit rate.Type: GrantFiled: July 31, 2018Date of Patent: May 19, 2020Assignee: SHANGHAI XINHAO MICROELECTRONICS CO. LTD.Inventor: Kenneth Chenghao Lin
-
Patent number: 10599433Abstract: A stream of data is accessed from a memory system using a stream of addresses generated in a first mode of operating a streaming engine in response to executing a first stream instruction. A block cache management operation is performed on a cache in the memory using a block of addresses generated in a second mode of operating the streaming engine in response to executing a second stream instruction.Type: GrantFiled: November 28, 2018Date of Patent: March 24, 2020Assignee: TEXAS INSTRUMENTS INCORPORTEDInventors: Joseph Raymond Michael Zbiciak, Timothy David Anderson, Jonathan (Son) Hung Tran, Kai Chirca, Daniel Wu, Abhijeet Ashok Chachad, David M. Thompson
-
Patent number: 10489185Abstract: Example methods are provided for locating an operating system (OS) data structure on a host according to a hypervisor-assisted approach. The method may comprise a virtualized computing instance identifying a guest virtual memory address range in which the OS data structure is stored; and configuring the hypervisor to perform a safe read on the guest virtual memory address range to access data stored within the guest virtual memory address range. The method may further comprise the virtualized computing instance performing attribute matching by comparing the data stored within the guest virtual memory address range with attribute data associated with the OS data structure; and determining a location associated with the OS data structure based on the attribute matching.Type: GrantFiled: June 8, 2017Date of Patent: November 26, 2019Assignee: NICIRA, INC.Inventors: Prasad Dabak, Goresh Musalay
-
Patent number: 10467008Abstract: Methods and apparatus for identifying an effective address (EA) using an interrupt instruction tag (ITAG) in a multi-slice processor including receiving, by an instruction fetch unit of the processor, the interrupt ITAG; retrieving an effective address table (EAT) row from an EAT, wherein the EAT row comprises a range of EAs and a first ITAG of a range of ITAGs; accessing a processor instruction vector comprising a plurality of elements, each element corresponding to one of a plurality of ITAGs; applying a mask to the processor instruction vector to obtain a portion of the processor instruction vector that begins with an element corresponding to the first ITAG and is defined by an element corresponding to the interrupt ITAG; calculating an EA offset; and identifying the EA for the interrupt ITAG using the EA offset and the range of EAs in the retrieved EAT row.Type: GrantFiled: May 31, 2016Date of Patent: November 5, 2019Assignee: International Business Machines CorporationInventors: David S. Levitan, Mehul Patel, Albert J. Van Norstrand, Jr., Phillip G. Williams
-
Patent number: 10437748Abstract: Apparatus, methods, and computer-readable storage media are disclosed for core-to-core communication between physical and/or virtual processor cores. In some examples of the disclosed technology, application cores write notification data (e.g., to doorbell or PCI configuration memory space accesses via a memory interface), without synchronizing with the other application cores or the service cores. In one examples of the disclosed technology, a message selection circuit is configured to, serialize data from the plurality of user cores by: receiving data from a user core, selecting one of the service cores to send the data based on a memory location addressed by the sending user core, and sending the received data to a respective message buffer dedicated to the selected service core.Type: GrantFiled: December 29, 2015Date of Patent: October 8, 2019Assignee: Amazon Technologies, Inc.Inventors: Leah Shalev, Adi Habusha, Georgy Machulsky, Nafea Bshara, Eric Jason Brandwine
-
Patent number: 10404622Abstract: Methods, systems, and computer programs are presented for networking communications. One embodiment of a system includes a switch module having one or more ports with a communications interface of a first type and a switch fabric. The system also includes a switch controller that is in communication with the switch module, the switch controller having a first network operating system (ndOS) for controlling packet switching policy in the switch module. The system further includes a server that executes a hypervisor for processing one or more virtual machines. The sever includes a communication interface of the first type for communicating with the switch module, one or more processors, a second ndOS, and one or more virtual network interface cards (VNIC) for communicating with the switch module via the communication interface of the first type.Type: GrantFiled: June 29, 2017Date of Patent: September 3, 2019Assignee: Pluribus Networks, Inc.Inventors: Sunay Tripathi, Robert James Drost, Chih-Kong Ken Yang
-
Patent number: 10263858Abstract: A system and method for generating a simulation environment are provided. In example aspects, in response to a request from a user of an environment simulation system, specifying a desired web performance metric to result from the execution of a particular content item, the environment simulation system constructs a simulation environment. The environment simulation system is configured to test the particular content item within the constructed simulation environment and compare a baseline web performance metric to the requested web performance metric. In some aspects, if the requested web performance metric is not achieved, the environmental simulation system is configured to perform tuning and continue simulating until the requested web performance metric is achieved. Once tuning is complete, a user can modify a content item and continue simulating to observe improvements in web performance of a content item for a user in a particular geographic region.Type: GrantFiled: February 7, 2017Date of Patent: April 16, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Prasanna Vijayanathan, Anant Rao, Sreedhar Veeravalli, Mark E. Pascual
-
Patent number: 10203956Abstract: A Vector Floating Point Test Data Class Immediate instruction is provided that determines whether one or more elements of a vector specified in the instruction are of one or more selected classes and signs. If a vector element is of a selected class and sign, an element in an operand of the instruction corresponding to the vector element is set to a first defined value, and if the vector element is not of the selected class and sign, the operand element corresponding to the vector element is set to a second defined value.Type: GrantFiled: August 16, 2016Date of Patent: February 12, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Jonathan D. Bradbury, Eric M. Schwarz
-
Patent number: 10169009Abstract: Processor hardware detects when memory aliasing occurs, and assures proper operation of the code even in the presence of memory aliasing. Because the hardware can detect and correct for memory aliasing, this allows a compiler to make optimizations such as register promotion even in regions of the code where memory aliasing can occur. The result is code that is more optimized and therefore runs faster.Type: GrantFiled: June 1, 2016Date of Patent: January 1, 2019Assignee: International Business Machines CorporationInventors: Srinivasan Ramani, Rohit Taneja
-
Patent number: 10157277Abstract: Technologies for memory management with memory protection extension include a computing device having a processor with one or more protection extensions. The processor may load a logical address including a segment base, effective limit, and effective address and generate a linear address as a function of the logical address with the effective limit as a mask. The processor may switch to a new task described by a task state segment extension. The task state extension may specify a low-latency segmentation mode. The processor may prohibit access to a descriptor in a local descriptor table with a descriptor privilege level lower than the current privilege level of the processor. The computing device may load a secure enclave using secure enclave support of the processor. The secure enclave may load an unsandbox and a sandboxed application in a user privilege level of the processor. Other embodiments are described and claimed.Type: GrantFiled: October 1, 2016Date of Patent: December 18, 2018Assignee: Intel CorporationInventors: Michael LeMay, Barry E. Huntley, Ravi Sahita
-
Patent number: 10135714Abstract: One networking device includes a switch module, a server, and a switch controller. The switch module has ports with a communications interface of a first type (CI1) and ports with a communications interface of a second type (CI2). The server, coupled to the switch module via a first CI2 coupling, includes a virtual CI1 driver, which provides a CI1 interface in the server, defined to exchange CI1 packets with the switch module via the first CI2 coupling. The virtual CI1 driver includes a first network device operating system (ndOS) program. The switch controller, in communication with the switch module via a second CI2 coupling, includes a second ndOS program controlling, in the switch module, a packet switching policy defining the switching of packets through the switch module or switch controller. The first and second ndOS programs exchange control messages to maintain a network policy for the switch fabric.Type: GrantFiled: April 4, 2017Date of Patent: November 20, 2018Assignee: Pluribus Networks, Inc.Inventors: Sunay Tripathi, Robert James Drost, Chih-Kong Ken Yang
-
Patent number: 10057082Abstract: Described are systems and methods for processing data streams, e.g., to implement event flow programs in a manner that facilitate the co-existence of multiple independent event flow programs in a multi-tenant deployment. In various embodiments, an input data stream is partitioned into multiple primitive data streams that can be processed independently from each other, and portions of two or more primitive data streams are routed and combined to form a complex data stream, facilitating complex processing tasks that take the two or more primitive data streams as input.Type: GrantFiled: December 22, 2014Date of Patent: August 21, 2018Assignee: eBay Inc.Inventors: Jon Birchard Weygandt, Jagori Somadder, Rajiv Karuthethil
-
Patent number: 10049061Abstract: Embodiments relate to loading and storing of data. An aspect includes a method for transferring data in an active memory device that includes memory and a processing element. An instruction is fetched and decoded for execution by the processing element. Based on determining that the instruction is a gather instruction, the processing element determines a plurality of source addresses in the memory from which to gather data elements and a destination address in the memory. One or more gathered data elements are transferred from the source addresses to contiguous locations in the memory starting at the destination address. Based on determining that the instruction is a scatter instruction, a source address in the memory from which to read data elements at contiguous locations and one or more destination addresses in the memory to store the data elements at non-contiguous locations are determined, and the data elements are transferred.Type: GrantFiled: November 12, 2012Date of Patent: August 14, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Bruce M. Fleischer, Thomas W. Fox, Hans M. Jacobson, James A. Kahle, Jaime H. Moreno, Ravi Nair
-
Patent number: 9965342Abstract: A data processing apparatus is provided having a hierarchy of layers comprising at least two data processing layers, each data processing layer configured to receive data and to generate processed data for passing to a next lower layer in said hierarchy, according to a protocol specific to that data processing layer. Each data processing layer is configured intermittently to add synchronization information to its processed data, the synchronization information providing semantic information required to interpret the processed data. Each data processing layer is further configured to output its synchronization information in response to a synchronization request signal received from a lower layer in said hierarchy, and at least one data processing layer is configured, when outputting its synchronization information, to issue its synchronization request signal to a higher layer in the hierarchy.Type: GrantFiled: March 16, 2010Date of Patent: May 8, 2018Assignee: ARM LimitedInventors: John Michael Horley, Nebojsa Makljenovic, Katherine Elizabeth Kneebone, Michael John Williams, Ian William Spray
-
Patent number: 9959409Abstract: A processor of an aspect includes a decode unit to decode a user-level instruction. The user-level instruction is to indicate a page of a secure enclave and is to indicate a linear address. An execution logic is coupled with the decode unit. The execution logic is operable, in response to the user-level instruction, to change an initial linear address of the page of the secure enclave. The initial linear address is to be stored in an enclave page storage metadata unit. The initial linear address is to be changed by the execution logic to the linear address that is to be indicated by the user-level instruction. The change to the linear address is performed without contents of the page of the secure enclave being lost.Type: GrantFiled: March 9, 2016Date of Patent: May 1, 2018Assignee: Intel CorporationInventors: Rebekah M. Leslie-Hurd, Carlos V. Rozas
-
Patent number: 9940264Abstract: A mechanism for simultaneous multithreading is provided. Responsive to performing a store instruction for a given thread of threads on a processor core and responsive to the core having ownership of a cache line in a cache, an entry of the store instruction is placed in a given store queue belonging to the given thread. The entry for the store instruction has a starting memory address and an ending memory address on the cache line. The starting memory addresses through ending memory addresses of load queues of the threads are compared on a byte-per-byte basis against the starting through ending memory address of the store instruction. Responsive to one memory address byte in the starting through ending memory addresses in the load queues overlapping with a memory address byte in the starting through ending memory address of the store instruction, the threads having the one memory address byte is flushed.Type: GrantFiled: October 10, 2014Date of Patent: April 10, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Khary J. Alexander, Jonathan T. Hsieh, Christian Jacobi, Martin Recktenwald
-
Patent number: 9886397Abstract: A mechanism for simultaneous multithreading is provided. Responsive to performing a store instruction for a given thread of threads on a processor core and responsive to the core having ownership of a cache line in a cache, an entry of the store instruction is placed in a given store queue belonging to the given thread. The entry for the store instruction has a starting memory address and an ending memory address on the cache line. The starting memory addresses through ending memory addresses of load queues of the threads are compared on a byte-per-byte basis against the starting through ending memory address of the store instruction. Responsive to one memory address byte in the starting through ending memory addresses in the load queues overlapping with a memory address byte in the starting through ending memory address of the store instruction, the threads having the one memory address byte is flushed.Type: GrantFiled: August 18, 2015Date of Patent: February 6, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Khary J. Alexander, Jonathan T. Hsieh, Christian Jacobi, Martin Recktenwald
-
Patent number: 9842058Abstract: Two translation lookaside buffers may be provided for simpler operation in some embodiments. A hardware managed lookaside buffer may handle traditional operations. A software managed lookaside buffer may be particularly involved in locking particular translations. As a result, the software's job is made simpler since it has a relatively simpler, software managed translation lookaside buffer to manage for locking translations.Type: GrantFiled: August 3, 2011Date of Patent: December 12, 2017Assignee: Micron Technology, Inc.Inventors: Dennis M. O'Connor, Stephen J. Strazdus
-
Patent number: 9823931Abstract: Various embodiments of microprocessors and methods of operating a microprocessor during runahead operation are disclosed herein. One example method of operating a microprocessor includes identifying a runahead-triggering event associated with a runahead-triggering instruction and, responsive to identification of the runahead-triggering event, entering runahead operation and inserting the runahead-triggering instruction along with one or more additional instructions in a queue. The example method also includes resuming non-runahead operation of the microprocessor in response to resolution of the runahead-triggering event and re-dispatching the runahead-triggering instruction along with the one or more additional instructions from the queue to the execution logic.Type: GrantFiled: December 28, 2012Date of Patent: November 21, 2017Assignee: NVIDIA CORPORATIONInventors: Guillermo J. Rozas, Alexander Klaiber, James van Zoeren, Paul Serris, Brad Hoyt, Sridharan Ramakrishnan, Hens Vanderschoot, Ross Segelken, Darrell D. Boggs, Magnus Ekman, Aravindh Baktha, David Dunn
-
Patent number: 9729469Abstract: Methods, systems, and computer programs are presented for networking communications. One method includes an operation for receiving a packet in a first format by a virtual driver providing a communications interface of a first type (CI1), the first format being for CI1. Further, the method includes an operation for encapsulating the packet in a second format by a processor, the second format being for a communications interface of a second type (CI2) different from CI1. In addition, the method includes an operation for sending the encapsulated packet in the second format to a switch module. The switch module includes a switch fabric, one or more CI1 ports, and one or more CI2 ports, and the switch module transforms the packet back to the first format to send the packet in the first format to a CI1 network via one of the CI1 ports in the switch module.Type: GrantFiled: October 5, 2015Date of Patent: August 8, 2017Assignee: Pluribus Networks, Inc.Inventors: Sunay Tripathi, Robert James Drost, Chih-Kong Ken Yang
-
Patent number: 9678889Abstract: Address translation circuitry and a method of operating such a translation circuitry are provided. The address translation circuitry is configured to receive a first address used in a first addressing system and to translate it into a second address used in a second addressing system. Translation pipeline circuitry has plural pipeline stages configured to translate the first address into the second address over the course of the plural pipeline stages. Address comparison circuitry is configured to identify an address match condition when a received first address at least partially matches a previously received first address. Insertion circuitry is configured to determine a stage of progress of the previously received first address in the plural pipeline stages and to cause content of the stage of progress of the previously received first address to be unchanged at a next pipeline cycle when the address comparison circuitry identifies the address match condition.Type: GrantFiled: December 22, 2014Date of Patent: June 13, 2017Assignee: ARM LimitedInventors: Roko Grubisic, Andrew Burdass, Daren Croxford, Isidoros Sideris
-
Patent number: 9626286Abstract: A storage module may include a controller that has hardware path that includes a plurality of hardware modules configured to perform a plurality of processes associated with execution of a host request. The storage module may also include a firmware module having a processor that executes firmware to perform at least some of the plurality of processes performed by the hardware modules. The firmware module performs the processes when the hardware modules are not able to successfully perform them.Type: GrantFiled: October 3, 2014Date of Patent: April 18, 2017Assignee: SanDisk Technologies LLCInventors: Sergey Anatolievich Gorobets, Matthew Davidson, Gary J. Lin, Daniel Tuers, Robert Jackson
-
Patent number: 9621482Abstract: One networking device includes a switch module, a server, and a switch controller. The switch module has ports with a communications interface of a first type (CI1) and ports with a communications interface of a second type (CI2). The server, coupled to the switch module via a first CI2 coupling, includes a virtual CI1 driver, which provides a CI1 interface in the server, defined to exchange CI1 packets with the switch module via the first CI2 coupling. The virtual CI1 driver includes a first network device operating system (ndOS) program. The switch controller, in communication with the switch module via a second CI2 coupling, includes a second ndOS program controlling, in the switch module, a packet switching policy defining the switching of packets through the switch module or switch controller. The first and second ndOS programs exchange control messages to maintain a network policy for the switch fabric.Type: GrantFiled: September 25, 2015Date of Patent: April 11, 2017Assignee: Pluribus Networks Inc.Inventors: Sunay Tripathi, Robert James Drost, Chih-Kong Ken Yang
-
Patent number: 9542193Abstract: A semiconductor chip is described having a load collision detection circuit comprising a first bloom filter circuit. The semiconductor chip has a store collision detection circuit comprising a second bloom filter circuit. The semiconductor chip has one or more processing units capable of executing ordered parallel threads coupled to the load collision detection circuit and the store collision detection circuit. The load collision detection circuit and the store collision detection circuit is to detect younger stores for load operations of said threads and younger loads for store operations of said threads.Type: GrantFiled: December 28, 2012Date of Patent: January 10, 2017Assignee: Intel CorporationInventors: Enrique De Lucas, Pedro Marcuello, Oren Ben-Kiki, Ilan Pardo, Yuval Yosef
-
Patent number: 9507725Abstract: A bit or other vector may be used to identify whether an address range entered into an intermediate buffer corresponds to most recently updated data associated with the address range. A bit or other vector may also be used to identify whether an address range entered into an intermediate buffer overlaps with an address range of data that is to be loaded. A processing device may then determine whether to obtain data that is to be loaded entirely from a cache, entirely from an intermediate buffer which temporarily buffers data destined for a cache until the cache is ready to accept the data, or from both the cache and the intermediate buffer depending on the particular vector settings. Systems, devices, methods, and computer readable media are provided.Type: GrantFiled: December 28, 2012Date of Patent: November 29, 2016Assignee: Intel CorporationInventors: Steffen Kosinski, Fernando Latorre, Niranjan Cooray, Stanislav Shwartsman, Ethan Kalifon, Varun Mohandru, Pedro Lopez, Tom Aviram-Rosenfeld, Jaroslav Topp, Li-Gao Zei
-
Patent number: 9507656Abstract: A mechanism for handling unfused multiply-add accrued exception bits includes a processor including a floating point unit, a storage, and exception logic. The floating-point unit may be configured to execute an unfused multiply-accumulate instruction defined with the instruction set architecture (ISA). The unfused multiply-accumulate instruction may include a multiply sub-operation and an accumulate sub-operation. The storage may be configured to maintain floating-point exception state information. The exception logic may be configured to capture the floating-point exception state after completion of the multiply sub-operation and prior to completion of the accumulate sub-operation, for example, and to update the storage to reflect the floating-point exception state.Type: GrantFiled: April 16, 2009Date of Patent: November 29, 2016Assignee: Oracle America, Inc.Inventors: Jeffrey S. Brooks, Paul J. Jordan, Christopher H. Olson
-
Patent number: 9477619Abstract: Disclosed herein are system, method and/or computer program product embodiments for increasing memory bandwidth when accessing a plurality of memory devices. An embodiment operates by executing, by at least one processor, a first read operation to read data from a first memory device following an access time for the first memory device. The embodiment further includes executing, by the at least one processor, a second read operation to read data from a second memory device following an access time for the second memory device. The access time for the second memory device is substantially the same or longer than the access time for the first memory device plus a time it takes to read data from the first memory device.Type: GrantFiled: June 10, 2013Date of Patent: October 25, 2016Inventors: Qamrul Hasan, Dawn M. Hopper, Clifford Alan Zitlaw
-
Patent number: 9454387Abstract: According to the invention, a first executable environment is provided. The first executable environment is for execution within an operating system environment of a host computer system. The first executable environment is not an emulator for emulating any of another processor and another operating system. A software application is provided for installation and execution within the operating system environment. The software application is for fixed installation and not for installation in a portable fashion for being ported from one host computer system to another. The software application is then installed within the first executable environment, the installed software application installed within a removable peripheral memory storage device for execution within the first executable environment.Type: GrantFiled: September 7, 2012Date of Patent: September 27, 2016Assignee: Kingston Digital, Inc.Inventors: Laurence Hamid, Marc Charbonneau
-
Patent number: 9348681Abstract: An apparatus and method for detecting the fault of a processor are disclosed. The apparatus includes a fetch fault control unit, a decoding fault control unit, and an execution fault control unit. The fetch fault control unit detects the fault of each of fetch units of a plurality of processor cores connected to memory. The decoding fault control unit detects the fault of each of decoding units of the plurality of processor cores connected to the memory. The execution fault control unit detects the fault of each of execution units of the plurality of processor cores connected to the memory, executes the same instruction in the plurality of processor cores, determines a processor core where a fault has occurred, and provides notification of the determined processor to the fetch fault control unit and the decoding fault control unit.Type: GrantFiled: April 17, 2014Date of Patent: May 24, 2016Assignee: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTEInventor: Jin-Ho Han
-
Managing out-of-order memory command execution from multiple queues while maintaining data coherency
Patent number: 9317434Abstract: Responsive to selecting a particular queue from among at least two queues to place an incoming event into within a particular entry from among multiple entries ordered upon arrival of the particular queue each comprising a separate collision vector, a memory address for the incoming event is compared with each queued memory address for each queued event in the other entries in the at least one other queue. Responsive to the memory address for the incoming event matching at least one particular queued memory address for at least one particular queued event in the at least one other queue, at least one particular bit is set in a particular collision vector for the particular entry in at least one bit position from among the bits corresponding with at least one row entry position of the at least one particular queued memory address within the other entries.Type: GrantFiled: August 3, 2015Date of Patent: April 19, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Robert M. Dinkjian, Robert S. Horton, Michael Y. Lee, Bill N. On -
Patent number: 9311508Abstract: A processor of an aspect includes a decode unit to decode a user-level instruction. The user-level instruction is to indicate a page of a secure enclave and is to indicate a linear address. An execution logic is coupled with the decode unit. The execution logic is operable, in response to the user-level instruction, to change an initial linear address of the page of the secure enclave. The initial linear address is to be stored in an enclave page storage metadata unit. The initial linear address is to be changed by the execution logic to the linear address that is to be indicated by the user-level instruction. The change to the linear address is performed without contents of the page of the secure enclave being lost.Type: GrantFiled: December 27, 2013Date of Patent: April 12, 2016Assignee: Intel CorporationInventors: Rebekah M. Leslie-Hurd, Carlos V. Rozas
-
Patent number: 9262098Abstract: A controller controls data input/output for a semiconductor memory device. The controller includes a first buffer configured to perform data transmission between an interface and the semiconductor memory device, a first control unit configured to control the semiconductor memory device according to an external request, and a second control unit configured to control the first buffer and the first control unit to simultaneously process a plurality of external requests according to a pipeline scheme.Type: GrantFiled: January 29, 2013Date of Patent: February 16, 2016Assignees: SK HYNIX INC., INDUSTRY-ACADEMIC COOPERATION FOUNDATION, YONSEI UNIVERSITYInventors: Eui-Young Chung, Sang-Hoon Park
-
Patent number: 9230654Abstract: An apparatus, system, and computer-implemented method for controlling data transfer between a plurality of serial data link interfaces and a plurality of memory banks in a semiconductor memory is disclosed. In one example, a flash memory device with multiple links and memory banks, where the links are independent of the banks, is disclosed. The flash memory devices may be cascaded in a daisy-chain configuration using echo signal lines to serially communicate between memory devices. In addition, a virtual multiple link configuration is described wherein a single link is used to emulate multiple links.Type: GrantFiled: March 8, 2013Date of Patent: January 5, 2016Assignee: Conversant Intellectual Property Management Inc.Inventors: Jin-Ki Kim, Hong Beom Pyeon
-
Patent number: 9208836Abstract: Integrated circuit devices transmit data via a shared signaling link in back to back burst intervals without contention and without insertion of performance-degrading bubbles by disabling output drivers during an interval that occurs at an edge or “margin” of a given burst interval and thus at a timing boundary between the back to back burst intervals. In “bit-level margining” embodiments, the driver-disabling operation or “margining” is performed during a portion of each bit interval (i.e., a unit of time allocated to transmission of a bit or other symbol. In “burst-level margining” embodiments, output drivers are disabled over an entire bit interval that occurs at the margin of a given burst interval.Type: GrantFiled: January 9, 2012Date of Patent: December 8, 2015Assignee: Rambus Inc.Inventor: Frederick A. Ware
-
Patent number: 9201652Abstract: A system for translating compressed instructions to instructions in an executable format is described. A translation unit is configured to decompress compressed instructions into a native instruction format using X and Y indices accessed from a memory, a translation memory, and a program specified mix mask. A level 1 cache is configured to store the native instruction format for each compressed instruction. The memory may be configured as a paged instruction cache to store pages of compressed instructions intermixed with pages of uncompressed instructions. Methods of determining a mix mask for efficiently translating compressed instructions is also described. A genetic method uses pairs of mix masks as genes from a seed population of mix masks that are bred and may be mutated to produce pairs of offspring mix masks to update the seed population. A mix mask for efficiently translating compressed instructions is determined from the updated seed population.Type: GrantFiled: May 3, 2011Date of Patent: December 1, 2015Assignee: QUALCOMM IncorporatedInventors: Sergei Larin, Lucian Codrescu, Anshuman Das Gupta
-
Patent number: 9195622Abstract: It is determined whether more than one half of a plurality of data blocks are addressed to a same primary memory bank in a plurality of memory banks. If not more than one half of the data blocks in the plurality of data blocks are addressed to the same primary memory bank, the plurality of data blocks are written to appropriate ones of the primary memory banks in a single clock cycle. If more than one half of the data blocks are addressed to the same primary memory bank, (i) a subset of the data blocks addressed to the same primary memory bank are written to the same primary memory bank, and (ii) one or more remaining data blocks of the data blocks addressed to the same primary memory bank are written to an additional memory bank.Type: GrantFiled: July 11, 2013Date of Patent: November 24, 2015Assignee: MARVELL WORLD TRADE LTD.Inventor: Amir Roitshtein
-
Patent number: 9170954Abstract: Translation management instructions are used in a multi-node data processing system to facilitate remote management of address translation data structures distributed throughout such a system. Thus, in multi-node data processing systems where multiple processing nodes collectively handle a workload, the address translation data structures for such nodes may be collectively managed to minimize translation misses and the performance penalties typically associated therewith.Type: GrantFiled: December 10, 2012Date of Patent: October 27, 2015Assignee: International Business Machines CorporationInventors: Adam J. Muff, Paul E. Schardt, Robert A. Shearer, Matthew R. Tubbs