Patents by Inventor Michael Andrew Campbell
Michael Andrew Campbell 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: 12153805Abstract: Examples of the present disclosure relate to an apparatus comprising interface circuitry to receive memory access commands directed to a memory device, each memory access command specifying a memory address to be accessed. The apparatus comprises scheduler circuitry to store a representation of a plurality of states accessible to the memory device and, based on the representation, determine an order for the received memory access commands. The apparatus comprises dispatch circuitry to receive the received memory access commands from the scheduler circuitry and issue the received memory access commands, in the determined order, to be performed by the memory device.Type: GrantFiled: September 1, 2020Date of Patent: November 26, 2024Assignee: Arm LimitedInventors: Michael Andrew Campbell, Matteo Maria Andreozzi, Lorenzo Biagini, Giovanni Stea, Ankit Mehta
-
Patent number: 12010242Abstract: To protect the integrity of data stored in a protected area of memory, data in the protected area of memory is retrieved in data blocks and an authentication code is associated with a memory granule contiguously comprising a first data block and a second data block. Calculation of the authentication code comprises a cryptographic calculation based on a first hash value determined from the first data block and a second hash value determined from the second data block. A hash value cache is provided to store hash values determined from data blocks retrieved from the protected area of the memory. When the first data block and its associated authentication code are retrieved from memory, a lookup for the second hash value in the hash value cache is performed, and a verification authentication code is calculated for the memory granule to which that data block belongs. The integrity of the first data block is contingent on the verification authentication code matching the retrieved authentication code.Type: GrantFiled: July 10, 2020Date of Patent: June 11, 2024Assignee: Arm LimitedInventors: Roberto Avanzi, Andreas Lars Sandberg, Michael Andrew Campbell, Matthias Lothar Boettcher, Prakash S. Ramrakhyani
-
Patent number: 11797454Abstract: The present technique provides an apparatus and method for caching data. The apparatus has a cache storage to cache data associated with memory addresses, a first interface to receive access requests, where each access request is a request to access data at a memory address indicated by that access request, and a second interface to couple to a memory controller used to control access to memory. Further, cache control circuitry is used to control allocation of data into the cache storage in accordance with a power consumption based allocation policy that seeks to select which data is cached in the cache storage with the aim of conserving power associated with accesses to the memory via the second interface.Type: GrantFiled: November 22, 2021Date of Patent: October 24, 2023Assignee: Arm LimitedInventors: Graeme Leslie Ingram, Michael Andrew Campbell
-
Patent number: 11520626Abstract: A method and system for an enhanced weighted fair queuing technique for a resource are provided. A plurality of request streams is received at a requestor, each request stream including request messages from a process executing on the requestor. The request messages of each request stream are apportioned to an input queue associated with the request stream; each input queue has a weight. A virtual finish time is determined for each request message based, at least in part, on the weights of the input queues. A sequence of request messages is determined based, at least in part, on the virtual finish times of the request messages. The sequence of request messages is enqueued into an output queue. The sequence of request messages is sent to a resource, over a connection, which provides a service for each process.Type: GrantFiled: September 22, 2020Date of Patent: December 6, 2022Assignee: Arm LimitedInventors: Michael Andrew Campbell, Peter Owen Hawkins, David Joseph Hawkins
-
Patent number: 11455268Abstract: The present disclosure relates generally to electronic interconnects including one or more switches and, more particularly, to delay bound determination for electronic interconnects.Type: GrantFiled: February 13, 2020Date of Patent: September 27, 2022Assignee: Arm LimitedInventors: Matteo Maria Andreozzi, Michael Andrew Campbell, Giovanni Stea, Raffaele Zippo
-
Publication number: 20220091886Abstract: A method and system for an enhanced weighted fair queuing technique for a resource are provided. A plurality of request streams is received at a requestor, each request stream including request messages from a process executing on the requestor. The request messages of each request stream are apportioned to an input queue associated with the request stream; each input queue has a weight. A virtual finish time is determined for each request message based, at least in part, on the weights of the input queues. A sequence of request messages is determined based, at least in part, on the virtual finish times of the request messages. The sequence of request messages is enqueued into an output queue. The sequence of request messages is sent to a resource, over a connection, which provides a service for each process.Type: ApplicationFiled: September 22, 2020Publication date: March 24, 2022Applicant: Arm LimitedInventors: Michael Andrew Campbell, Peter Owen Hawkins, David Joseph Hawkins
-
Publication number: 20210255981Abstract: The present disclosure relates generally to electronic interconnects including one or more switches and, more particularly, to delay bound determination for electronic interconnects.Type: ApplicationFiled: February 13, 2020Publication date: August 19, 2021Inventors: Matteo Maria Andreozzi, Michael Andrew Campbell, Giovanni Stea, Raffaele Zippo
-
Patent number: 10949292Abstract: A requester issues a request specifying a target address indicating an addressed location in a memory system. A completer responds to the request. Tag error checking circuitry performs a tag error checking operation when the request issued by the requester is a tag-error-checking request specifying an address tag. The tag error checking operation comprises determining whether the address tag matches an allocation tag stored in the memory system associated with a block of one or more addresses comprising the target address specified by the tag-error-checking request. The requester and the completer communicate via a memory interface having at least one data signal path to exchange read data or write data between the requester and the completer; and at least one tag signal path, provided in parallel with the at least one data signal path, to exchange address tags or allocation tags between the requester and the completer.Type: GrantFiled: October 7, 2019Date of Patent: March 16, 2021Assignee: Arm LimitedInventors: Bruce James Mathewson, Phanindra Kumar Mannava, Michael Andrew Campbell, Alexander Alfred Hornung, Alex James Waugh, Klas Magnus Bruce, Richard Roy Grisenthwaite
-
Patent number: 10817336Abstract: There is provided an apparatus comprising scheduling circuitry, which selects a task as a selected task to be performed from a plurality of queued tasks, each having an associated priority, in dependence on the associated priority of each queued task. Escalating circuitry increases the associated priority of each of the plurality of queued tasks after a period of time. The plurality of queued tasks comprises a time-sensitive task having an associated deadline and in response to the associated deadline being reached, the scheduling circuitry selects the time-sensitive task as the selected task to be performed.Type: GrantFiled: June 28, 2016Date of Patent: October 27, 2020Assignee: ARM LimitedInventors: Michael Andrew Campbell, Fergus Wilson MacGarry, Bruce James Mathewson
-
Patent number: 10635325Abstract: The apparatus operable to communicate with a memory comprises a persistent write tracker component operable to track frequency of persistent writes to at least one memory location during a time window; a threshold-exceeded detector component responsive to the tracker component and operable to detect excessive persistent writes to the at least one memory location during the time window; and a selective throttle component operable in response to a threshold-exceeded outcome from the detector component to cause selective throttling of persistent writes to the at least one memory location.Type: GrantFiled: November 22, 2016Date of Patent: April 28, 2020Assignee: ARM LimitedInventors: Kshitij Sudan, Stephan Diestelhorst, Michael Andrew Campbell
-
Patent number: 10628355Abstract: An apparatus and method are provided for processing burst read transactions. The apparatus has a master device and a slave device coupled to the master device via a connection medium. The master device comprises processing circuitry for initiating a burst read transaction that causes the master device to issue to the slave device, via the connection medium, an address transfer specifying a read address. The slave device is arranged to process the burst read transaction by causing a plurality of data items required by the burst read transaction to be obtained based on the read address specified by the address transfer, and by performing a plurality of data transfers over the connection medium in order to transfer the plurality of data items to the master device.Type: GrantFiled: September 19, 2018Date of Patent: April 21, 2020Assignee: Arm LimitedInventors: Jamshed Jalal, Tushar P Ringe, Anitha Kona, Andrew Brookfield Swaine, Michael Andrew Campbell
-
Patent number: 10540281Abstract: A cache to provide data caching in response to data access requests from at least one system device, and a method operating such a cache, are provided. Allocation control circuitry of the cache is responsive to a cache miss to allocate an entry of the multiple entries in the data caching storage circuitry in dependence on a cache allocation policy. Quality-of-service monitoring circuitry is responsive to a quality-of-service indication to modify the cache allocation policy with respect to allocation of the entry for the requested data item. The behaviour of the cache, in particular regarding allocation and eviction, can therefore be modified in order to seek to maintain a desired quality-of-service for the system in which the cache is found.Type: GrantFiled: January 17, 2017Date of Patent: January 21, 2020Assignee: Arm LimitedInventors: Paul Stanley Hughes, Michael Andrew Campbell
-
Patent number: 10540248Abstract: A technique is described for performing a maintenance operation within an apparatus that is used to control access to a memory device. The apparatus has a storage device for storing access requests to be issued to the memory device, and maintenance circuitry for performing a maintenance operation on storage elements provided within the storage device. Memory access execution circuitry is used to issue to a physical layer interface access requests selected from the storage device, for onward propagation from the physical layer interface to the memory device. Control circuitry is responsive to a training event to initiate a training operation of the physical layer interface. In addition, the control circuitry is further responsive to the training event to trigger performance of the maintenance operation by the maintenance circuitry whilst the training operation is being performed.Type: GrantFiled: May 12, 2017Date of Patent: January 21, 2020Assignee: ARM LimitedInventors: Fergus Wilson MacGarry, Michael Andrew Campbell
-
Patent number: 10509743Abstract: A master device has a buffer for storing data transferred from, or to be transferred to, a memory system. Control circuitry issues from time to time a group of one or more transactions to request transfer of a block of data between the memory system and the buffer. Hardware or software mechanism can be provided to detect at least one memory load parameter indicating how heavily loaded the memory system is, and a group size of the block of data transferred per group can be varied based on the memory load parameter. By adapting the size of the block of data transferred per group based on memory system load, a better balance between energy efficiency and quality of service can be achieved.Type: GrantFiled: June 2, 2017Date of Patent: December 17, 2019Assignee: ARM LimitedInventors: Daren Croxford, Sharjeel Saeed, Quinn Carter, Michael Andrew Campbell
-
Patent number: 10339050Abstract: An apparatus, memory controller, memory module and method are provided for controlling data transfer in memory. The apparatus comprises a memory controller and a plurality of memory modules. The memory controller orchestrates direct data transfer by issuing a first direct transfer command to a first memory module and a second direct transfer command to a second memory module. The first memory module is responsive to receipt of the first direct transfer command to directly transmit the data for receipt by the second memory module in a way that bypasses the memory controller. The second memory module is responsive to the second direct transfer command to receive the data from the first memory module directly, rather than via the memory controller. One of the first and second memory modules may be used as a cache for data stored in the other memory module. The direct data transfer may comprise a data move or a data copy operation.Type: GrantFiled: September 23, 2016Date of Patent: July 2, 2019Assignee: Arm LimitedInventors: Andreas Hansson, Wendy Arnott Elsasser, Michael Andrew Campbell
-
Patent number: 9785578Abstract: An apparatus and method are provided for controlling access to a memory device. The apparatus has a pending access requests storage that is used to store access requests waiting to be issued to the memory device, and memory access control circuitry is then used to issue to the memory device access requests selected from the pending access requests storage. Access requests are received at an interface of the apparatus from at least one requesting device, and access request evaluation circuitry within the apparatus is arranged to apply criteria to determine, for a current access request, whether to accept that current access request or reject that current access request. The criteria applied takes account of at least one access timing characteristic of the memory device. The access request evaluation circuitry is responsive to determining that the current access request is to be accepted, to cause that current access request to be stored in the pending access requests storage.Type: GrantFiled: June 5, 2015Date of Patent: October 10, 2017Assignee: ARM LimitedInventors: Mark Andrew Brittain, Michael Andrew Campbell
-
Patent number: 9454451Abstract: An apparatus and method are provided for opportunistically performing scrubbing operations on a memory device. The apparatus is used for accessing the memory device in response to access requests issued by at least one requesting device and comprises interface circuitry that is configured to access the memory device in response to the access requests. The apparatus also comprises activity monitoring circuitry which generates memory access activity data that results from memory access activity between the interface circuitry and the memory device. Scrubbing circuitry is also included and is configured to issue scrubbing access requests to perform the scrubbing operations, the scrubbing access requests being issued in response to the memory access activity data indicating a trigger condition.Type: GrantFiled: February 11, 2013Date of Patent: September 27, 2016Assignee: ARM LimitedInventor: Michael Andrew Campbell
-
Patent number: 9411774Abstract: Memory access circuitry controls access to multiple memory units with two access units. Arbitration circuitry forwards memory access requests for one memory unit to a first access unit, for a further memory unit to a second access unit, and for yet further memory unit to one of the first or second access units. The access units store requests in a queue prior to transmitting them to the respective memory unit. Tracking circuitry tracks requests and determines when to transmit subsequent requests from the queue. Control circuitry sets a state of each access unit to one of active, prepare and dormant, switches states of the two access units periodically, and does not set more than one access unit to the active state at the same time.Type: GrantFiled: April 23, 2013Date of Patent: August 9, 2016Assignee: ARM LimitedInventor: Michael Andrew Campbell
-
Patent number: 8935592Abstract: An apparatus and method for correcting errors in data accessed from a memory device. A plurality of read symbols are read from a memory device. Syndrome information is then determined from the n data symbols and associated m error correction code symbols. Error correction circuitry uses the syndrome information in order to attempt to locate each read symbol containing an error and to correct the errors in each of those located read symbols. Error tracking circuitry tracks which memory regions the located read symbols containing an error originate from, and, on detecting an error threshold condition, sets at least one memory region as an erasure memory region. The correction circuitry treats each read symbol as a located read symbol containing an error, such that the read symbols to be located are not all randomly distributed and more than PMAX read symbols containing errors can be corrected.Type: GrantFiled: November 20, 2012Date of Patent: January 13, 2015Assignee: ARM LimitedInventors: Michael Andrew Campbell, Timothy Nicholas Hay
-
Patent number: 8918700Abstract: An apparatus includes encoding circuitry to generate code words for storage in a memory device. Decoding circuitry is responsive to a read transaction to decode one or more code words read from the memory device in order to generate read data for outputting in response to the read transaction. The decoding circuitry comprises error correction circuitry configured, for each read code word, to perform an error correction process to detect and correct errors in up to P symbols of the code word, where P is dependent on the number of ECC symbols in the code word. Error tracking circuitry determines error quantity indication data indicative of the errors detected by the error correction circuitry, and in response to the error quantity indication data indicating that an error threshold condition has been reached, the apparatus transitions from a normal mode of operation to a safety mode of operation.Type: GrantFiled: February 11, 2013Date of Patent: December 23, 2014Assignee: ARM LimitedInventors: Michael Andrew Campbell, Thomas Kelshaw Conway