Predicting, Look-ahead Patents (Class 711/204)
-
Patent number: 12099843Abstract: A digital signal processor having at least one streaming address generator, each with dedicated hardware, for generating addresses for writing multi-dimensional streaming data that comprises a plurality of elements. Each at least one streaming address generator is configured to generate a plurality of offsets to address the streaming data, and each of the plurality of offsets corresponds to a respective one of the plurality of elements. The address of each of the plurality of elements is the respective one of the plurality of offsets combined with a base address.Type: GrantFiled: March 13, 2023Date of Patent: September 24, 2024Assignee: TEXAS INSTRUMENTS INCORPORATEDInventors: Timothy David Anderson, Duc Quang Bui, Joseph Zbiciak, Sahithi Krishna, Soujanya Narnur
-
Patent number: 12093096Abstract: Various dynamic voltage and frequency scaling (DVFS) techniques can optimize the high voltage residency of a device containing multiple processing cores that share a voltage rail. The DVFS techniques described herein can reduce the high voltage residency (duration) of the voltage rail by aligning the high frequency duration of multiple cores sharing the same voltage rail.Type: GrantFiled: December 15, 2022Date of Patent: September 17, 2024Assignee: QUALCOMM IncorporatedInventors: Aravind Bhaskara, Zhurang Zhao, Kiran Bhagwat, Michael Tipton, Joshua Stubbs, Jyotirmoy Das, Thomas Tang
-
Patent number: 12086069Abstract: This application provides a memory management method and a terminal device. According to the method, a frequently accessed memory page and a rarely accessed memory page that are required for starting and using an application may be determined by using a memory page on which a page exception occurs in a target running application. A terminal retains, in a memory, the memory page that is required for starting and using the application, to resolve a problem that freezing occurs when an application that runs in a background is started again, and improve keepalive performance of the application. The terminal migrates the rarely accessed memory page to a swap partition of a storage, to save memory resources.Type: GrantFiled: March 3, 2021Date of Patent: September 10, 2024Assignee: HUAWEI TECHNOLOGIES CO., LTD.Inventor: Changlong Li
-
Patent number: 11907130Abstract: An apparatus comprising a cache comprising a plurality of cache entries, cache access circuitry responsive to a cache access request to perform, based on a target memory address associated with the cache access request, a cache lookup operation, tracking circuitry to track pending requests to modify cache entries of the cache, and prediction circuitry responsive to the cache access request to make a prediction of whether the pending requests tracked by the tracking circuitry include a pending request to modify a cache entry associated with the target memory address, wherein the cache access circuitry is responsive to the cache access request to determine, based on the prediction, whether to perform an additional lookup of the tracking circuitry. A method and a non-transitory computer-readable medium to store computer-readable code for fabrication of the apparatus are also provided.Type: GrantFiled: January 26, 2023Date of Patent: February 20, 2024Assignee: Arm LimitedInventors: Alexander Alfred Hornung, Kenny Ju Min Yeoh
-
Patent number: 11880308Abstract: A cache subsystem is disclosed. The cache subsystem includes a cache configured to store information in cache lines arranged in a plurality of ways. A requestor circuit generates a request to access a particular cache line in the cache. A prediction circuit is configured to generate a prediction of which of the ways includes the particular cache line. A comparison circuit verifies the prediction by comparing a particular address tag associated with the particular cache line to a cache tag corresponding to a predicted one of the ways. Responsive to determining that the prediction was correct, a confirmation indication is stored indicating the correct prediction. For a subsequent request for the particular cache line, the cache is configured to forego a verification of the prediction that the particular cache line is included in the one of the ways based on the confirmation indication.Type: GrantFiled: September 20, 2022Date of Patent: January 23, 2024Assignee: Apple Inc.Inventors: Ronald P. Hall, Mary D. Brown, Balaji Kadambi, Mahesh K. Reddy
-
Patent number: 11853220Abstract: An apparatus comprises a cache to store information, items of information in the cache being associated with addresses; cache lookup circuitry to perform lookups in the cache; and a prefetcher to prefetch items of information into the cache in advance of an access request being received for said items of information. The prefetcher selects addresses to train the prefetcher. In response to determining that a cache lookup specifying a given address has resulted in a hit and determining that a cache lookup previously performed in response to a prefetch request issued by the prefetcher for the given address resulted in a hit, the prefetcher selects the given address as an address to be used to train the prefetcher.Type: GrantFiled: October 14, 2021Date of Patent: December 26, 2023Assignee: Arm LimitedInventors: Natalya Bondarenko, Stefano Ghiggini, Damien Matthieu Valentin Cathrine, Ugo Castorina
-
Patent number: 11841802Abstract: A microprocessor prevents same address load-load ordering violations. Each load queue entry holds a load physical memory line address (PMLA) and an indication of whether a load instruction has completed execution. The microprocessor fills a line specified by a fill PMLA into a cache entry and snoops the load queue with the fill PMLA, either before the fill or in an atomic manner with the fill with respect to ability of the filled entry to be hit upon by any load instruction, to determine whether the fill PMLA matches load PMLAs in load queue entries associated with load instructions that have completed execution and there are other load instructions in the load queue that have not completed execution. The microprocessor, if the condition is true, flushes at least the other load instructions in the load queue that have not completed execution.Type: GrantFiled: May 18, 2022Date of Patent: December 12, 2023Assignee: Ventana Micro Systems Inc.Inventors: John G. Favor, Srivatsan Srinivasan
-
Patent number: 11836079Abstract: A storage management apparatus, a storage management method, a processor, and a computer system are disclosed. The storage management apparatus includes: at least one translation look-aside buffer, configured to store a plurality of cache entries, where the plurality of cache entries include a plurality of level 1 cache entries and a plurality of level 2 cache entries; and an address translation unit, coupled to the at least one translation look-aside buffer, and adapted to translate, based on one of the plurality of level 1 cache entries, a virtual address specified by a translation request into a corresponding translated address, or when the translation request does not hit any one of the plurality of level 1 cache entries, translate, based on one of the plurality of level 2 cache entries, a virtual address specified by the translation request into a corresponding translated address.Type: GrantFiled: September 15, 2020Date of Patent: December 5, 2023Assignee: Alibaba Group Holding LimitedInventors: Ziyi Hao, Chen Chen, Xiaoyan Xiang, Feng Zhu
-
Patent number: 11836052Abstract: A data backup and recovery method and system using allocated data blocks include identifying a first snapshot associated with a virtual machine; accessing changed block tracking data associated with data changes occurred in the virtual machine, the data changes corresponding to a set of changed data blocks; accessing block allocation status data associated with the set of changed data blocks; identifying one or more allocated data blocks from the set of changed data blocks that are associated with allocated status based on the block allocation status data; and storing the one or more allocated data blocks to a storage device.Type: GrantFiled: July 27, 2021Date of Patent: December 5, 2023Assignee: Rubrik, Inc.Inventor: Li Ding
-
Patent number: 11824723Abstract: A technique for determining a data window size allows a set of predicted blocks to be transmitted along with requested blocks. A stream enabled application executing in a virtual execution environment may use the blocks when needed.Type: GrantFiled: August 13, 2021Date of Patent: November 21, 2023Assignee: NUMECENT HOLDINGS, INC.Inventors: Jeffrey DeVries, Arthur S. Hitomi
-
Patent number: 11789871Abstract: A microprocessor prevents same address load-load ordering violations. Each load queue entry holds a load physical memory line address (PMLA) and an indication of whether a load instruction has completed execution. The microprocessor fills a line specified by a fill PMLA into a cache entry and snoops the load queue with the fill PMLA, either before the fill or in an atomic manner with the fill with respect to ability of the filled entry to be hit upon by any load instruction, to determine whether the fill PMLA matches load PMLAs in load queue entries associated with load instructions that have completed execution and there are other load instructions in the load queue that have not completed execution. The microprocessor, if the condition is true, flushes at least the other load instructions in the load queue that have not completed execution.Type: GrantFiled: May 18, 2022Date of Patent: October 17, 2023Assignee: Ventana Micro Systems Inc.Inventors: John G. Favor, Srivatsan Srinivasan
-
Patent number: 11734198Abstract: The present disclosure provides methods, apparatuses, and systems for implementing and operating a memory module, for example, in a computing device that includes a network interface, which is coupled to a network to enable communication with a client device, and processing circuitry, which is coupled to the network interface via a data bus and programmed to perform operations based on user inputs received from the client device. The memory module includes memory devices, which may be non-volatile memory or volatile memory, and a memory controller coupled between the data bus and the of memory devices. The memory controller may be programmed to determine when the processing circuitry is expected to request a data block and control data storage in the memory devices.Type: GrantFiled: April 28, 2021Date of Patent: August 22, 2023Assignee: Micron Technology, Inc.Inventor: Richard C. Murphy
-
Patent number: 11636034Abstract: Systems, apparatuses, and methods related to a write-back cache policy to limit data transfer time to a memory device are described. A controller can orchestrate performance of operations to write data to a cache according to a write-back policy and write addresses associated with the data to a buffer. The controller can further orchestrate performance of operations to limit an amount of data stored by the buffer and/or a quantity of addresses stored in the buffer. In response to a power failure, the controller can cause the data stored in the cache to be flushed to a persistent memory device in communication with the cache.Type: GrantFiled: January 7, 2022Date of Patent: April 25, 2023Assignee: Micron Technology, Inc.Inventor: Tony M. Brewer
-
Patent number: 11604652Abstract: A digital signal processor having at least one streaming address generator, each with dedicated hardware, for generating addresses for writing multi-dimensional streaming data that comprises a plurality of elements. Each at least one streaming address generator is configured to generate a plurality of offsets to address the streaming data, and each of the plurality of offsets corresponds to a respective one of the plurality of elements. The address of each of the plurality of elements is the respective one of the plurality of offsets combined with a base address.Type: GrantFiled: February 1, 2021Date of Patent: March 14, 2023Assignee: Texas Instruments IncorporatedInventors: Timothy David Anderson, Duc Quang Bui, Joseph Zbiciak, Sahithi Krishna, Soujanya Narnur
-
Patent number: 11573743Abstract: Various embodiments described herein provide for a memory sub-system read operation or a memory sub-system write operation that can be requested by a host system and involves performing a multi-level (e.g., two-level) pointer dereferencing internally within the memory sub-system. Such embodiments can at least reduce the number of read operations that a host system sends to a memory sub-system to perform a multi-level dereferencing operation.Type: GrantFiled: October 26, 2021Date of Patent: February 7, 2023Assignee: Micron Technology, Inc.Inventor: Dhawal Bavishi
-
Patent number: 11493985Abstract: A computer system comprising a scheduled computation module, a work memory storage device, and a controller. The scheduled computation module is configured to receive and process data values according to a predetermined access pattern. The work memory storage device includes one or more work memory banks. The controller is configured to, based on scheduling information associated with the predetermined access pattern, (1) provide data values held by the one or more work memory banks to the scheduled computation module, and (2) selectively control a power state of the one or more work memory banks.Type: GrantFiled: March 15, 2019Date of Patent: November 8, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Amol Ashok Ambardekar, Shuayb M. Zarar, Jun Zhang
-
Patent number: 11487667Abstract: A cache subsystem is disclosed. The cache subsystem includes a cache configured to store information in cache lines arranged in a plurality of ways. A requestor circuit generates a request to access a particular cache line in the cache. A prediction circuit is configured to generate a prediction of which of the ways includes the particular cache line. A comparison circuit verifies the prediction by comparing a particular address tag associated with the particular cache line to a cache tag corresponding to a predicted one of the ways. Responsive to determining that the prediction was correct, a confirmation indication is stored indicating the correct prediction. For a subsequent request for the particular cache line, the cache is configured to forego a verification of the prediction that the particular cache line is included in the one of the ways based on the confirmation indication.Type: GrantFiled: August 9, 2021Date of Patent: November 1, 2022Assignee: Apple Inc.Inventors: Ronald P. Hall, Mary D. Brown, Balaji Kadambi, Mahesh K. Reddy
-
Patent number: 11461246Abstract: The present disclosure provides methods, apparatuses, and systems for implementing and operating a memory module, for example, in a computing device that includes a network interface, which is coupled to a network to enable communication with a client device, and processing circuitry, which is coupled to the network interface via a data bus and programmed to perform operations based on user inputs received from the client device. The memory module includes memory devices, which may be non-volatile memory or volatile memory, and a memory controller coupled between the data bus and the of memory devices. The memory controller may be programmed to determine when the processing circuitry is expected to request a data block and control data storage in the memory devices.Type: GrantFiled: April 28, 2021Date of Patent: October 4, 2022Assignee: Micron Technology, Inc.Inventor: Richard C. Murphy
-
Patent number: 11301311Abstract: A memory control method for a rewritable non-volatile memory module is provided according to embodiments of the disclosure. The method includes: receiving at least one first read command from a host system; and determining, according to a total data amount of to-be-read data indicated by the at least one first read command, whether to start a pre-read operation. The pre-read operation is configured to pre-read data stored in at least one first logical unit, and the first logical unit is mapped to at least one physical unit.Type: GrantFiled: October 4, 2019Date of Patent: April 12, 2022Assignee: PHISON ELECTRONICS CORP.Inventor: Chen Yap Tan
-
Patent number: 11269634Abstract: A data processing apparatus is provided comprising: a plurality of storage circuits to store data. Execution circuitry performs one or more operations using the storage circuits in response to instructions. The instructions include a relinquish instruction. The execution circuitry responds to the relinquish instruction by indicating that at least one of the plurality of storage circuits is an unused storage circuit and the execution circuitry affects execution of future instructions based on the unused storage circuit after executing the relinquish instruction.Type: GrantFiled: August 5, 2019Date of Patent: March 8, 2022Assignee: Arm LimitedInventors: David Hennah Mansell, Nigel John Stephens, Matthew Lucien Evans
-
Patent number: 11200292Abstract: Embodiments seek to improve prefetch hinting by using automated browsing clusters to generate and update hinting models used for machine-generated hints. For example, hinting machines can include browsing clusters that autonomously fetch web pages in response to update triggers (e.g., client web page requests, scheduled web crawling, etc.) and generate timing and/or other hinting-related feedback relating to which resources were used to load the fetched web pages. The hinting machines can use the hinting feedback to generate and/or update hinting models, which can be used for machine-generation of hints. Some embodiments can provide preliminary hinting functionality in response to client hinting requests, for example, when hinting models for a requested page are insufficient (e.g., unavailable, outdated, etc.). For example, without having a sufficient hinting model in place, the hinting machine can fetch the page to generate preliminary hinting feedback, which it can use to machine-generate preliminary hints.Type: GrantFiled: July 1, 2019Date of Patent: December 14, 2021Assignee: VIASAT, INC.Inventors: Peter Lepeska, David Lerner, Eric E. Prouty
-
Patent number: 11061594Abstract: A method for encrypting data in one or more data blocks is provided. The method generates a fixed random tweak. The method receives first and second data blocks to write on at least one physical disk of a set of physical disks associated with a set of host machines. The method applies a fixed random tweak to data indicative of the first data block and data indicative of the second data block to generate, respectively, first and second encrypted data blocks. The method writes first and second entries to a data log in a cache, the first entry comprising a first header and the first encrypted data block and the second entry comprising a second header and the second encrypted data block. The method then writes the first and second encrypted data blocks to the at least one physical disk.Type: GrantFiled: March 23, 2020Date of Patent: July 13, 2021Assignee: VMware, Inc.Inventors: Wenguang Wang, Vamsi Gunturu
-
Patent number: 11055101Abstract: A processing apparatus includes a processor. The processor stores a plurality of instruction codes, each of the plurality of instruction codes is a result of decoding of an instruction, selects an instruction code that is ready to be input from the stored instruction codes, when the selected instruction code is an operation instruction, uses for the processing, a register for processing corresponding to a write destination of the operation instruction, after detecting that operands to be used for the processing are ready, in the next cycle, issues a subsequent instruction, and when the selected instruction code is a memory access instruction, uses for the address calculation, the register, writes a processing result and load data that have been temporarily written in a buffer for register update from the buffer to the register at the time of instruction completion, after the completion of the memory access instruction, issues a subsequent instruction.Type: GrantFiled: May 28, 2019Date of Patent: July 6, 2021Assignee: FUJITSU LIMITEDInventors: Sota Sakashita, Norihito Gomyo
-
Patent number: 10949348Abstract: A storage device and a cache area addressing method is disclosed. The storage device includes a memory module, a buffer, a memory controller, and a cache area addressing circuit. The buffer includes a cache area. The memory controller is coupled to the memory module and the buffer. The cache area addressing circuit is coupled to the memory controller and the buffer and configured to perform the followings. A logical address from the memory controller is received. Whether the logical address corresponds to a logical address interval of the cache area is determined. When the logical address corresponds to the logical address interval of the cache area, the logical address is mapped to a first physical address in the cache area according to a base address. Otherwise, the logical address is mapped to a second physical address in the buffer.Type: GrantFiled: August 9, 2019Date of Patent: March 16, 2021Assignee: SILICON MOTION, INC.Inventor: Yi-Shou Jhang
-
Patent number: 10860326Abstract: An instruction buffer for a processor configured to execute multiple threads is disclosed. The instruction buffer is configured to receive instructions from a fetch unit and provide instructions to a selection unit. The instruction buffer includes one or more memory arrays comprising a plurality of entries configured to store instructions and/or other information (e.g., program counter addresses). One or more indicators are maintained by the processor and correspond to the plurality of threads. The one or more indicators are usable such that for instructions received by the instruction buffer, one or more of the plurality entries of a memory array can be determined as a write destination for the received instructions, and for instructions to be read from the instruction buffer (and sent to a selection unit), one or more entries can be determined as the correct source location from which to read.Type: GrantFiled: July 8, 2019Date of Patent: December 8, 2020Assignee: Oracle International CorporationInventors: Jama I. Barreh, Robert T. Golla, Manish K. Shah
-
Patent number: 10846253Abstract: Systems, apparatuses, and methods for performing efficient memory accesses for a computing system are disclosed. When a memory controller in a computing system determines a threshold number of memory access requests have not been sent to the memory device in a current mode of a read mode and a write mode, a first cost corresponding to a latency associated with sending remaining requests in either the read queue or the write queue associated with the current mode is determined. If the first cost exceeds the cost of a data bus turnaround, the cost of a data bus turnaround comprising a latency incurred when switching a transmission direction of the data bus from one direction to an opposite direction, then a second cost is determined for sending remaining memory access requests to the memory device. If the second cost does not exceed the cost of the data bus turnaround, then a time for the data bus turnaround is indicated and the current mode of the memory controller is changed.Type: GrantFiled: December 21, 2017Date of Patent: November 24, 2020Assignee: Advanced Micro Devices, Inc.Inventors: Guanhao Shen, Ravindra N. Bhargava, Kedarnath Balakrishnan
-
Patent number: 10719263Abstract: A method of handling a page fault occurring in a non-volatile main memory system including analyzing a pattern of occurrence of the page fault based on the page fault when the page fault occurs, setting the number of pages to be consecutively processed based on analysis result of the analyzing, and consecutively processing as many pages as the number may be provided.Type: GrantFiled: November 30, 2016Date of Patent: July 21, 2020Assignees: Samsung Electronics Co., Ltd., Research & Business Foundation Sungkyunkwan UniversityInventors: Jung Sik Choi, Hwan Soo Han
-
Patent number: 10628083Abstract: A storage controller measures a RAID group (RG) operating time, which is the operating time of an RG. The storage controller then corrects the measured RG operating time, which is used to calculate the operating rate of the RG, on the basis of a correction coefficient associated with the type of the physical devices (PDEVs) constituting the RG, and on the basis of the RG backend multiplicity, which is the multiplicity of the I/O commands transmitted to the RG.Type: GrantFiled: September 27, 2016Date of Patent: April 21, 2020Assignee: HITACHI, LTD.Inventors: Takao Yoshikawa, Yusuke Nonaka, Jin Choi, Masahide Kawarasaki
-
Patent number: 10585801Abstract: Embodiments include methods, systems and computer readable media configured to execute a first kernel (e.g. compute or graphics kernel) with reduced intermediate state storage resource requirements. These include executing a first and second (e.g. prefetch) kernel on a data-parallel processor, such that the second kernel begins executing before the first kernel. The second kernel performs memory operations that are based upon at least a subset of memory operations in the first kernel.Type: GrantFiled: November 26, 2012Date of Patent: March 10, 2020Assignee: Advanced Micro Devices, Inc.Inventors: Nuwan S. Jayasena, James Michael O'Connor, Michael Mantor
-
Patent number: 10528478Abstract: Techniques for managing page tables for an accelerated processing device are provided. The page tables for the accelerated processing device include a primary page table and secondary page tables. The page size selected for any particular secondary page table is dependent on characteristics of the memory allocations for which translations are stored in the secondary page table. Any particular memory allocation is associated with a particular “initial” page size. Translations for multiple allocations may be placed into a single secondary page table, and a particular page size is chosen for all such translations. The page size is the smallest of the natural page sizes for the allocations that are not using a translate further technique. The translation further technique is a technique wherein secondary page table entries do not themselves provide translations but instead point to an additional page table level referred to as the translate further page table level.Type: GrantFiled: May 30, 2017Date of Patent: January 7, 2020Assignee: ATI TECHNOLOGIES ULCInventor: Dhirendra Partap Singh Rana
-
Patent number: 10430340Abstract: A virtual hint based data cache way prediction scheme, and applications thereof. In an embodiment, a processor retrieves data from a data cache based on a virtual hint value or an alias way prediction value and forwards the data to dependent instructions before a physical address for the data is available. After the physical address is available, the physical address is compared to a physical address tag value for the forwarded data to verify that the forwarded data is the correct data. If the forwarded data is the correct data, a hit signal is generated. If the forwarded data is not the correct data, a miss signal is generated. Any instructions that operate on incorrect data are invalidated and/or replayed.Type: GrantFiled: March 23, 2017Date of Patent: October 1, 2019Assignee: ARM Finance Overseas LimitedInventors: Meng-Bing Yu, Era K. Nangia, Michael Ni
-
Patent number: 10360159Abstract: Provided herein are systems, methods and computer readable media for providing an out of band cache mechanism for ensuring availability of data. An example system may include a client device configured to, in response to determining requested data is not available in a cache, access the requested data from a data source, transmit, to a cache mechanism, an indication that the requested data is unavailable in the cache, the indication configured to be placed in a queue as an element pointing to the requested data, a cache mechanism configured to receive an indication of requested data, determine whether an element, the element indicative of the requested data, exists in a queue, and in an instance in which the element is not present in the queue, placing the element in the queue, the queue being a list of elements, each indicative of requested data needing to be placed in the cache.Type: GrantFiled: December 12, 2013Date of Patent: July 23, 2019Assignee: GROUPON, INC.Inventors: Steven Black, Stuart Siegrist, Gilligan Markham
-
Patent number: 10296463Abstract: According to one general aspect, an apparatus may include a branch prediction unit, a fetch unit, and a pre-fetch circuit or unit. The branch prediction unit may be configured to output a predicted instruction. The fetch unit may be configured to fetch a next instruction from a cache memory. The pre-fetcher circuit may be configured to pre-fetch a previously predicted instruction into the cache memory based upon a relationship between the predicted instruction and the next instruction.Type: GrantFiled: April 18, 2016Date of Patent: May 21, 2019Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventor: Paul E. Kitchin
-
Patent number: 10275386Abstract: A plurality of registers implemented in association with a memory physical layer interface (PHY) can be used to store one or more instruction words that indicate one or more commands and one or more delays. A training engine implemented in the memory PHY can generate at-speed programmable sequences of commands for delivery to an external memory and to delay the commands based on the one or more delays. The at-speed programmable sequences of commands can be generated based on the one or more instruction words.Type: GrantFiled: June 27, 2014Date of Patent: April 30, 2019Assignee: Advanced Micro Devices, Inc.Inventors: Glenn A. Dearth, Gerry Talbot
-
Patent number: 10275256Abstract: Branch prediction in a computer processor, includes: fetching an instruction, the instruction comprising an address, the address comprising a first portion of a global history vector and a global history vector pointer; performing a first branch prediction in dependence upon the first portion of the global history vector; retrieving, in dependence upon the global history vector pointer, from a rolling global history vector buffer, a second portion of the global history vector; and performing a second branch prediction in dependence upon a combination of the first portion and second portion of the global history vector.Type: GrantFiled: February 22, 2016Date of Patent: April 30, 2019Assignee: International Business Machines CorporationInventors: Bruce M. Fleischer, Michael N. Goulet, David S. Levitan, Nicholas R. Orzol
-
Patent number: 10203745Abstract: A scheduler and method for dynamic power reduction, e.g., in a processor core, is proposed. In conventional processor cores for example, the scheduler precharges grant lines of many instructions only to discharge a great majority of the precharged lines in one cycle. To reduce power consumption, selective precharge and/or selective evaluation are proposed. In the selective precharge, the grant lines of instructions that will evaluate to false (e.g., invalid instructions) are not precharged in a cycle. In the selective evaluation, among the precharged instructions, instructions that are not ready are not evaluated in the same cycle. In this way, power consumption is reduced by avoiding unnecessary precharge and discharge.Type: GrantFiled: March 30, 2016Date of Patent: February 12, 2019Assignee: QUALCOMM IncorporatedInventors: Milind Ram Kulkarni, Rami Mohammad A. Al Sheikh, Raguram Damodaran
-
Patent number: 10185657Abstract: A method for partial garbage collection in a NAND flash storage system is disclosed. The method includes receiving a real time data request task in a NAND flash storage system; executing the real time data request task in the NAND flash storage system; determining a condition whether a number of free pages in the NAND flash storage system is below a pre-determined threshold; for the condition that the number of free pages in the NAND flash storage system is below a pre-determined threshold, determining whether a partial garbage collection list is empty; for the condition that the partial garbage collection list is empty, selecting a victim block from a plurality of blocks in the NAND flash storage system; creating partial garbage collection tasks in the NAND flash storage system; and putting the partial garbage collection tasks in the partial garbage collection list.Type: GrantFiled: April 13, 2016Date of Patent: January 22, 2019Inventors: Qi Zhang, Xuandong Li, Linzhang Wang, Tian Zhang
-
Patent number: 10042585Abstract: A method is described that includes generating, by a controller of a storage device, operating statistics associated with an operating state of the storage device. The method includes receiving, by the controller and from a host device, a non-interrupt command frame that requests transfer of data blocks between the storage device and the host device. The method further includes, in response to receiving the non-interrupt command frame, generating, by the controller, a response frame associated with the non-interrupt command frame, wherein the response frame includes the operating statistics. The method includes transmitting, by the controller and to the host device, the response frame.Type: GrantFiled: September 27, 2016Date of Patent: August 7, 2018Assignee: Western Digital Technologies, Inc.Inventors: Mark David Erickson, Darin Edward Gerhart, Nicholas Edward Ortmeier
-
Patent number: 9971681Abstract: A method for garbage collection in a NAND flash memory system is disclosed. The method includes the steps of receiving a data request task in the NAND flash memory system; executing the data request task in the NAND flash memory system; based on the condition where the number of free data pages in the NAND flash memory system is below the first pre-determined threshold, determining whether a data block partial garbage collection list is empty; based on the condition where the data block partial garbage collection list is empty, selecting a victim block in the NAND flash memory system; and creating a plurality of data block partial garbage collection tasks.Type: GrantFiled: June 1, 2016Date of Patent: May 15, 2018Assignee: Nanjing UniversityInventors: Qi Zhang, Xuandong Li, Linzhang Wang, Tian Zhang, Yi Wang, Zili Shao
-
Patent number: 9934041Abstract: A method comprises identifying a number of branches (Nb) and a number of iterations (Ni) in a loop in an instruction stream, generating a number of forward branches until the number of forward branches equals Nb, generating a non-branch instruction in between the forward branch instruction, recording in a memory, instruction stream generated and a history of each branch, an associated target address of each branch, and whether the branch is a taken branch or a not taken branch, determining whether a loop iterator number (i) is less than Ni?1, generating a backward branch with a target address which is greater than or equal to the start address and is lesser than the current address responsive to determining that (i) is less than Ni, and recording in the memory, a branch instruction of the generated backward branch and the associated target address of the backward branch.Type: GrantFiled: July 1, 2015Date of Patent: April 3, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Narasimha R. Adiga, Jatin Bhartia, Akash V. Giri, Matthias Heizmann
-
Patent number: 9836292Abstract: A sequence of input language (IL) instructions of a guest system is converted, for example by binary translation, into a corresponding sequence of output language (OL) instructions of a host system, which executes the OL instructions. In order to determine the return address after any IL call to a subroutine at a target entry address P, the corresponding OL return address is stored in an array at a location determined by an index calculated as a function of P. After completion of execution of the OL translation of the IL subroutine, execution is transferred to the address stored in the array at the location where the OL return address was previously stored. A confirm instruction block is included in each OL call site to determine whether the transfer was to the correct or incorrect call site, and a back-up routine is included to handle the cases of incorrect call sites.Type: GrantFiled: June 16, 2009Date of Patent: December 5, 2017Assignee: VMware, Inc.Inventor: Ole Agesen
-
Patent number: 9658849Abstract: In a method of simulating a processor system by running code that simulates the system on a host processor, code is translated at run time to a form required by the host processor. All instructions are mapped to a native instruction set of the host using two or more different code dictionaries: the translated instructions are mapped to multiple and different dictionaries dependent on the execution privilege level or mode of the simulated processor. If an instruction is encountered during runtime that changes the mode of the processor the code dictionary is switched to use the dictionary associated with the new mode. The different modes require different instruction mappings to the native instruction set of the host using different models that more accurately represent the behavior of the system code and hardware in the system being simulated.Type: GrantFiled: February 19, 2013Date of Patent: May 23, 2017Assignee: IMPERAS SOFTWARE LTD.Inventors: James Kenney, Simon Davidmann
-
Patent number: 9632939Abstract: A virtual hint based data cache way prediction scheme, and applications thereof. In an embodiment, a processor retrieves data from a data cache based on a virtual hint value or an alias way prediction value and forwards the data to dependent instructions before a physical address for the data is available. After the physical address is available, the physical address is compared to a physical address tag value for the forwarded data to verify that the forwarded data is the correct data. If the forwarded data is the correct data, a hit signal is generated. If the forwarded data is not the correct data, a miss signal is generated. Any instructions that operate on incorrect data are invalidated and/or replayed.Type: GrantFiled: June 25, 2015Date of Patent: April 25, 2017Assignee: ARM Finance Overseas LimitedInventors: Meng-Bing Yu, Era K. Nangia, Michael Ni, Karagada Ramarao Kishore
-
Patent number: 9367466Abstract: A type of conditional probability fetcher prefetches data, such as for a cache, from another memory by maintaining information relating to memory elements in a group of memory elements fetched from the second memory. The information may be an aggregate number of memory elements that have been fetched for different memory segments in the group. The information is maintained responsive to fetching one or more memory elements from a segment of memory elements in the group of memory elements. Prefetching one or more remaining memory elements in a particular segment of memory elements from the second memory into the first memory occurs when the information relating to the memory elements in the group of memory elements indicates that a prefetching condition has been satisfied.Type: GrantFiled: February 13, 2013Date of Patent: June 14, 2016Assignee: Advanced Micro Devices, Inc.Inventors: Matthew R. Poremba, Gabriel H. Loh
-
Patent number: 9336125Abstract: Devices and methods of providing hardware support for dynamic type checking are provided. In some embodiments, a processor includes a type check register and support for one or more checked load instructions. In some embodiments, normal load instructions are replaced by a compiler with the checked load instructions. In some embodiments, to perform a checked load, an error handler instruction location is stored in the type check register, and a type tag operand is compared to a type tag stored in the loaded memory location. If the comparison succeeds, execution may proceed normally. If the comparison fails, execution may be transferred to the error handler instruction. In some embodiments, type prediction is performed to determine whether a checked load instruction is likely to fail.Type: GrantFiled: August 24, 2012Date of Patent: May 10, 2016Assignee: University of Washington through its Center for CommercializationInventors: Susan J. Eggers, Luis Ceze, Emily Fortuna, Owen Anderson
-
Patent number: 9311094Abstract: The described embodiments provide a processor that executes a vector instruction. In the described embodiments, while executing instructions, the processor encounters a vector memory-accessing instruction that performs a memory operation for a set of elements in the memory-accessing instruction. In these embodiments, if an optional predicate vector is received, for each element in the memory-accessing instruction for which a corresponding element of the predicate vector is active, otherwise, for each element in the memory-accessing instruction, upon determining that addresses in the elements are likely to be arranged in a predetermined pattern, the processor predicts that the addresses in the elements are arranged in the predetermined pattern. The processor then performs a fast version of the memory operation corresponding to the predetermined pattern.Type: GrantFiled: April 19, 2011Date of Patent: April 12, 2016Assignee: Apple Inc.Inventor: Jeffry E. Gonion
-
Patent number: 9015400Abstract: A computer system and a method are provided that reduce the amount of time and computing resources that are required to perform a hardware table walk (HWTW) in the event that a translation lookaside buffer (TLB) miss occurs. If a TLB miss occurs when performing a stage 2 (S2) HWTW to find the PA at which a stage 1 (S1) page table is stored, the MMU uses the IPA to predict the corresponding PA, thereby avoiding the need to perform any of the S2 table lookups. This greatly reduces the number of lookups that need to be performed when performing these types of HWTW read transactions, which greatly reduces processing overhead and performance penalties associated with performing these types of transactions.Type: GrantFiled: March 5, 2013Date of Patent: April 21, 2015Assignee: QUALCOMM IncorporatedInventors: Thomas Zeng, Azzedine Touzni, Tzung Ren Tzeng, Phil J. Bostley
-
Patent number: 9009445Abstract: A system and method for efficiently handling translation look-aside buffer (TLB) misses. A memory management unit (MMU) detects when a given virtual address misses in each available translation-lookaside-buffer (TLB). The MMU determines whether a memory access operation associated with the given virtual address is the oldest, uncompleted memory access operation in a scheduler. If this is the case, a demand table walk (TW) request may be stored in an available entry in a TW queue. During this time, the utilization of the memory subsystem resources may be low. While a demand TW request is stored in the TW queue, subsequent speculative TW requests may be stored in the TW queue. When the TW queue does not store a demand TW request, no more entries of the TW queue may be allocated to store TW requests.Type: GrantFiled: October 20, 2011Date of Patent: April 14, 2015Assignee: Apple Inc.Inventor: Jesse Pan
-
Patent number: 8977819Abstract: A prefetch filter receives a memory read request having an associated address for accessing data that is stored in a line of memory. An address window is determined that has an address range that encompasses an address space that is twice as large as the line of memory. In response to a determination of in which half the address window includes the requested line of memory, a prefetch direction is to a first direction or to an opposite direction. The prefetch filter can include an array of slots for storing a portion of a next predicted access and determine a memory stream in response to a hit on the array by a subsequent memory request. The prefetch filter FIFO counter cycles through the slots of the array before wrapping around to a first slot of the array for storing a next predicted address portion.Type: GrantFiled: August 18, 2011Date of Patent: March 10, 2015Assignee: Texas Instruments IncorporatedInventors: Kai Chirca, Joseph R M Zbiciak, Matthew D Pierson, Timothy D Anderson
-
Patent number: 8971471Abstract: A decoder includes a buffer configured to incrementally transport a synchronous data stream through a path of the decoder. A control circuit is configured to control a depth parameter associated with the buffer and to provide a substantially predictable delay of the synchronous data stream through the path of the decoder.Type: GrantFiled: December 7, 2011Date of Patent: March 3, 2015Assignee: Imagine Communications Corp.Inventor: Junius Adonis Kim