Directories And Tables (e.g., Dlat, Tlb) Patents (Class 711/205)
  • Patent number: 11900271
    Abstract: Methods and systems for using machine learning to automatically determine a data loading configuration for a computer-based rule engine are presented. The computer-based rule engine is configured to use rules to evaluate incoming transaction requests. Data of various data types may be required by the rule engine when evaluating the incoming transaction requests. The data loading configuration specifies pre-loading data associated with at least a first data type and lazy-loading data associated with at least a second data type. Statistical data such as use rates and loading times associated with the various data types may be supplied to a machine learning module to determine a particular loading configuration for the various data types. The computer-based rule engine then loads data according to the data loading configuration when evaluating a subsequent transaction request.
    Type: Grant
    Filed: December 13, 2021
    Date of Patent: February 13, 2024
    Assignee: PayPal, Inc.
    Inventors: Srinivasan Manoharan, Vinesh Chirakkil, Jun Zhu, Christopher S. Purdum, Sahil Dahiya, Gurinder Grewal, Harish Nalagandla, Girish Sharma
  • Patent number: 11842053
    Abstract: A list of a available zones across respective SSD storage portions of a plurality of zoned storage devices of a storage system is maintained. Data is received from multiple sources, wherein the data is associated with processing a dataset, the dataset including multiple volumes and associated metadata. Shards of the data are determined such that each shard is capable of being written in parallel with the remaining shards. The shards are mapped to a subset of the available zones, respectively. The shards are written to the subset of the available zones in parallel.
    Type: Grant
    Filed: December 19, 2022
    Date of Patent: December 12, 2023
    Assignee: PURE STORAGE, INC.
    Inventor: Ronald Karr
  • Patent number: 11829763
    Abstract: A system and method for efficiently reducing the latency of load operations. In various embodiments, logic of a processor accesses a prediction table after fetching instructions. For a prediction table hit, the logic executes a load instruction with a retrieved predicted address from the prediction table. For a prediction table miss, when the logic determines the address of the load instruction and hits in a learning table, the logic updates a level of confidence indication to indicate a higher level of confidence when a stored address matches the determined address. When the logic determines the level of confidence indication stored in a given table entry of the learning table meets a threshold, the logic allocates, in the prediction table, information stored in the given entry. Therefore, the predicted address is available during the next lookup of the prediction table.
    Type: Grant
    Filed: August 13, 2019
    Date of Patent: November 28, 2023
    Assignee: Apple Inc.
    Inventors: Yuan C. Chou, Viney Gautam, Wei-Han Lien, Kulin N. Kothari, Mridul Agarwal
  • Patent number: 11782849
    Abstract: A processor includes a decode unit to decode an instruction that is to indicate a page of a protected container memory, and a storage location outside of the protected container memory. An execution unit, in response to the instruction, is to ensure that there are no writable references to the page of the protected container memory while it has a write protected state. The execution unit is to encrypt a copy of the page of the protected container memory. The execution unit is to store the encrypted copy of the page to the storage location outside of the protected container memory, after it has been ensured that there are no writable references. The execution unit is to leave the page of the protected container memory in the write protected state, which is also valid and readable, after the encrypted copy has been stored to the storage location.
    Type: Grant
    Filed: July 3, 2021
    Date of Patent: October 10, 2023
    Assignee: Intel Corporation
    Inventors: Carlos V. Rozas, Mona Vij, Rebekah M. Leslie-Hurd, Krystof C. Zmudzinski, Somnath Chakrabarti, Francis X. Mckeen, Vincent R. Scarlata, Simon P. Johnson, Ilya Alexandrovich, Gilbert Neiger, Vedvyas Shanbhogue, Ittai Anati
  • Patent number: 11755237
    Abstract: Methods, systems, and devices for overwriting at a memory system are described. A memory system may be configured to overwrite portions of a memory array with new data, which may be associated with omitting an erase operation. For example, write operations may be performed in accordance with a first demarcation configuration to store information at a portion of a memory array. A portion of a memory system may then determine to overwrite the portion of the memory array with different or updated information, which may include performing write operations in accordance with a second demarcation configuration. The second demarcation configuration may be associated with different cell characteristics for a one or more logic states, such as different distributions of stored charge or other cell property, different demarcation characteristics, different write operations, among other differences, which may support performing an overwrite operation without first performing an erase operation.
    Type: Grant
    Filed: August 31, 2021
    Date of Patent: September 12, 2023
    Assignee: Micron Technology, Inc.
    Inventors: Jonathan S. Parry, Giuseppe Cariello, Reshmi Basu
  • Patent number: 11748011
    Abstract: The present invention provides a control method of the flash memory controller. In the control method, after receiving a deallocate command from a host device, the flash memory controller will update a valid page count table, a detailed valid page count table and/or a zone valid page count table according to deallocate command, for the flash memory controller to efficiently and quickly determine if any one of the zones does not have any valid data, so that the flash memory controller can recommend the host device to send a reset command to reset the zone.
    Type: Grant
    Filed: February 15, 2022
    Date of Patent: September 5, 2023
    Assignee: Silicon Motion, Inc.
    Inventor: Ching-Hui Lin
  • Patent number: 11748267
    Abstract: A plurality of entries including address translation information are buffered in a data structure in a processor core. At least first and second translation entry invalidation requests specifying different first and second addresses are checked against all of the entries in the data structure. The checking includes accessing and checking at least a first entry in the data structure for an address match with the first address but not the second address, thereafter concurrently checking at least a second entry for an address match with both the first and second addresses, and thereafter completing checking for the first address and accessing and checking the first entry for an address match with the second address but not the first address. The processor core invalidates any entry in the data structure for which the checking detects an address match.
    Type: Grant
    Filed: August 4, 2022
    Date of Patent: September 5, 2023
    Assignee: International Business Machines Corporation
    Inventors: Derek E. Williams, Guy L. Guthrie, Luke Murray, Hugh Shen
  • Patent number: 11733895
    Abstract: The present invention provides a control method of the flash memory controller. In the control method, after receiving a deallocate command from a host device, the flash memory controller will update a valid page count table, a detailed valid page count table and/or a zone valid page count table according to deallocate command, for the flash memory controller to efficiently and quickly determine if any one of the zones does not have any valid data, so that the flash memory controller can recommend the host device to send a reset command to reset the zone.
    Type: Grant
    Filed: February 15, 2022
    Date of Patent: August 22, 2023
    Assignee: Silicon Motion, Inc.
    Inventor: Ching-Hui Lin
  • Patent number: 11681425
    Abstract: Server, system, method and graphical user interface for enabling users to select and apply or execute function(s) on the one or more types of contents or visual media wherein the functions are configured to be work offline via pre-loaded interfaces and functions by using offline or smart or connected client application, selectable and switchable by a user for executing or applying selected function on content or visual media wherein the functions are provided by various sources and wherein enabling or allowing to access or install or subscribe said one or more functions including visual content editing functions to at least one of mutually connected, contacts, contacts of contacts, selected, related, matched, liked and suggested users, purchaser, subscribers and users of the network(s).
    Type: Grant
    Filed: July 26, 2021
    Date of Patent: June 20, 2023
    Assignee: PROGWEBT LLC
    Inventor: Yogesh Rathod
  • Patent number: 11657003
    Abstract: Apparatus comprises two or more processing devices each having an associated translation lookaside buffer to store translation data defining address translations between virtual and physical memory addresses, each address translation being associated with a respective virtual address space; and control circuitry to control the transfer of at least a subset of the translation data from the translation lookaside buffer associated with a first processing device to the translation lookaside buffer associated with a second, different, processing device.
    Type: Grant
    Filed: January 31, 2020
    Date of Patent: May 23, 2023
    Assignee: Arm Limited
    Inventors: Ilias Vougioukas, Nikos Nikoleris, Andreas Lars Sandberg, Stephan Diestelhorst
  • Patent number: 11579885
    Abstract: Methods and electronic circuits for executing instructions in a central processing unit (CPU) are provided. One of the methods includes forming an instruction block by sequentially fetching, from a current thread queue, one or more instructions including one jump instruction, wherein the jump instruction is the last instruction in the instruction block; transmitting the instruction block to a CPU execution unit for execution; replenishing the current thread queue with at least one instruction to form a thread queue to be executed; determining a target instruction of the jump instruction according to an execution result of the CPU execution unit; determining whether the target instruction is contained in the thread queue to be executed; and if not, flushing the thread queue to be executed, obtaining the target instruction and adding the target instruction to the thread queue to be executed.
    Type: Grant
    Filed: October 28, 2020
    Date of Patent: February 14, 2023
    Assignee: ADVANCED NEW TECHNOLOGIES CO., LTD.
    Inventor: Ling Ma
  • Patent number: 11461247
    Abstract: Address translation circuitry translates a target virtual address specified by a memory access request into a target physical address associated with a selected physical address space. Granule protection information (GPI) loading circuitry loads from a memory system at least one granule protection descriptor providing GPI indicating, for at least one granule of physical addresses, which physical address spaces is allowed access to the at least one granule. GPI compressing circuitry compresses the GPI to generate compressed GPI. A GPI cache to caches the compressed GPI. Filtering circuitry determines, on a hit in the GPI cache, whether the memory access request should be allowed to access the target physical address, based on whether the compressed GPI cached in the GPI cache for the target physical address indicates that the selected physical address space is allowed access to the target physical address. This allows more efficient caching of granule protection information.
    Type: Grant
    Filed: July 19, 2021
    Date of Patent: October 4, 2022
    Assignee: Arm Limited
    Inventors: Guillaume Bolbenes, Abhishek Raja
  • Patent number: 11362894
    Abstract: When separate service apparatuses that provide various communication services to users are connected by a wiring with communication functional units interposed, if there is a wiring abnormality, the location of the abnormality is easily identified. When a wiring connection is completed between separated service apparatuses X and Y that provide various communication services to user terminals 31 and 32 with communication functional units A1 and B2 interposed, a wiring management system 10A includes a transmission network management apparatus 14A that identifies a wiring abnormality. The transmission network management apparatus 14A associates endpoint names of the service apparatuses X and Y and of the functional units A1 and B2 with opposite endpoint names on the opposite sides, defines opposite endpoint IDs of the endpoints of the functional units A1 and B2 as expected values, and saves the end points in association with the opposite endpoint IDs in a DB 14b.
    Type: Grant
    Filed: March 19, 2019
    Date of Patent: June 14, 2022
    Assignee: Nippon Telegraph and Telephone Corporation
    Inventors: Yoshihiko Uematsu, Hiroshi Yamamoto, Hiroki Kawahara, Katsuhiro Araya, Toshiyuki Oka
  • Patent number: 11341062
    Abstract: An acceleration technology for accessing system memory, which provides translation agent hardware that calculates the physical address of the system memory based on an access request issued from the device end. The translation agent hardware has a cache memory that stores information to speed up the calculation of the physical address. Each cache line corresponds to a last-recently used (LRU) index value, and the cache line with the greatest LRU index value is preferentially released to be reassigned. A counter counts a count value to show an isochronous caching demand. LRU index values of cache lines assigned to non-isochronous caching are kept not lower than the count value, and thereby isochronous caching takes precedence over non-isochronous caching.
    Type: Grant
    Filed: September 9, 2020
    Date of Patent: May 24, 2022
    Assignee: SHANGHAI ZHAOXIN SEMICONDUCTOR CO., LTD.
    Inventors: Qunyi Yang, Hui Wu, Tingli Cui
  • Patent number: 11321097
    Abstract: The disclosed inventions include a processor apparatus and method that enable a general purpose processor to achieve twice the operating frequency of typical processor implementations with a modest increase in area and a modest increase in energy per operation. The invention relies upon exploiting multiple independent streams of execution. Low area and low energy memory arrays used for register files operate a modest frequency. Instructions can be issued at a rate higher than this frequency by including logic that guarantees the spacing between instructions from the same thread are spaced wider than the time to access the register file. The result of the invention is the ability to overlap long latency structures, which allows using lower energy structures, thereby reducing energy per operation.
    Type: Grant
    Filed: October 8, 2019
    Date of Patent: May 3, 2022
    Assignee: Intensivate Inc.
    Inventor: Kevin Sean Halle
  • Patent number: 11314657
    Abstract: In one embodiment, a microprocessor, comprising: a translation lookaside buffer (TLB) configured to indicate that a virtual page address corresponding to a physical page address of a page of memory that a memory access instruction is attempting to access is missing in the TLB; a first micro-op corresponding to a first memory access instruction and configured to initiate a first speculative tablewalk based on a miss in the TLB of a first virtual page address; and a second micro-op corresponding to a second memory access instruction, the second micro-op configured to take over an active first speculative tablewalk of the first micro-op at its current stage of processing based on being older than the first micro-op and further based on having a virtual page address and properties that match the first virtual page address and properties for the first memory access instruction.
    Type: Grant
    Filed: December 2, 2020
    Date of Patent: April 26, 2022
    Assignee: CENTAUR TECHNOLOGY, INC.
    Inventor: Colin Eddy
  • Patent number: 11182192
    Abstract: According to one or more embodiments of the present invention, a computer implemented method includes receiving a request from a requestor, to access a page of memory. The requestor is either a secure entity of a computer system or a secure interface control of the computer system. The request is tagged as a secure request from a secure domain of the computer system. It is verified that the request is making an access to a page that is both registered as secure and registered as belonging to the secure domain. The requestor is provided access to the page based at least in part on the page being registered as secure and as belonging to the secure domain. The requestor is prevented from accessing the page, based on one or both of the page not being registered as secure, and the page not being registered as belonging to the secure domain.
    Type: Grant
    Filed: March 8, 2019
    Date of Patent: November 23, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Lisa Cranton Heller, Fadi Y. Busaba, Jonathan D. Bradbury
  • Patent number: 11169931
    Abstract: Techniques for obtaining metadata may include: receiving, by a director, an I/O operation directed to a target offset of a logical device, wherein the director is located on a board including a local page table used by components on the board; querying the local page table for a global memory address of first metadata for the target offset of the logical device; and responsive to the local page table not having the global memory address of the first metadata for the target offset of the logical device, using at least a first indirection layer to obtain the global memory address of the first metadata. The global memory may be a distributed global memory including memory segments from multiple different boards each including its own local page table. Compare and swap operations may be used to perform atomic operations to ensure synchronized access when updating the distributed global memory.
    Type: Grant
    Filed: September 24, 2019
    Date of Patent: November 9, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Andrew Chanler, Kevin Tobin
  • Patent number: 10970390
    Abstract: A processor includes a processing core to identify a code comprising a plurality of instructions to be executed in the architecturally-protected environment, determine that a first physical memory page stored in the architecturally-protected memory matches a first virtual memory page referenced by a first instruction of the plurality of instructions, generate a first address mapping between a first address of the first virtual memory page and a second address of the first physical memory page, store, in the cache memory, the address translation data structure comprising the first address mapping, and execute the code by retrieving the first address mapping in the address translation data structures to be executed in the architecturally-protected environment, determine that a first physical memory page stored in the architecturally-protected memory matches a first virtual memory page referenced by a first instruction of the plurality of instructions, generate a first address mapping between a first address of
    Type: Grant
    Filed: February 15, 2018
    Date of Patent: April 6, 2021
    Assignee: Intel Corporation
    Inventors: Francis McKeen, Bin Xing, Krystof Zmudzinski, Carlos Rozas, Mona Vij
  • Patent number: 10956333
    Abstract: Methods, systems, and devices are described for wireless communications. A request for data located in a memory page of a memory array may be received at a device, and a value of a prefetch counter associated with the memory page may be identified. A portion of the memory page that includes the requested data may then be communicated between a memory array and memory bank of the device based on the value of the prefetch counter. For instance, the portion of the memory page may be selected based on the value of the prefetch counter. A second portion of the memory page may be communicated to a buffer of the device, and the value of the prefetch counter may be modified based on a relationship between the first portion of the memory page and the second portion of the memory page.
    Type: Grant
    Filed: August 20, 2018
    Date of Patent: March 23, 2021
    Assignee: Micron Technology, Inc.
    Inventors: Robert Nasry Hasbun, Dean D. Gans, Sharookh Daruwalla
  • Patent number: 10901484
    Abstract: A processor includes a mechanism for disabling a memory array of a branch prediction unit. The processor may include a next fetch prediction unit that may include a number of entries. Each entry may correspond to a next instruction fetch group and may store an indication of whether or not the corresponding the next fetch group includes a conditional branch instruction. In response to an indication that the next fetch group does not include a conditional branch instruction, the fetch prediction unit may be configured to disable, in a next instruction execution cycle, the memory array of the branch prediction unit.
    Type: Grant
    Filed: March 25, 2019
    Date of Patent: January 26, 2021
    Assignee: Apple Inc.
    Inventors: Conrado Blasco, Ronald P. Hall, Ramesh B. Gunna, Ian D. Kountanis, Shyam Sundar, André Seznec
  • Patent number: 10754791
    Abstract: Examples of techniques for software translation prefetch instructions are described herein. An aspect includes, based on encountering a translation prefetch instruction in software that is being executed by a processor, determining whether an address translation corresponding to the translation prefetch instruction is located in a translation lookaside buffer (TLB) of the processor. Another aspect includes, based on determining that the address translation is not located in the TLB, issuing an address translation request corresponding to the translation prefetch instruction. Another aspect includes storing an address translation corresponding to the address translation request in the TLB.
    Type: Grant
    Filed: January 2, 2019
    Date of Patent: August 25, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Vivek Britto, Bryant Cockcroft, John Schumann, Tharunachalam Pindicura, Shricharan Srivatsan, Yan Xia, Aishwarya Dhandapani
  • Patent number: 10671762
    Abstract: In one embodiment, a system includes a non-volatile memory that may serve as both the main memory system and the backing store (or persistent storage). In some embodiments, the non-volatile memory is divided into a main memory portion and a persistent portion. Data in the main memory operation may be encrypted using one or more first keys, and data in the persistent portion may be encrypted using one or more second keys, in an embodiment. The volatile behavior of main memory may be implemented by discarding the one or more first keys in a power down event or other event that indicates a loss of main memory data, while the one or more second keys may be retained. In one embodiment, the physical address space of the non-volatile memory may be a mapping from a second physical address space that is used within the system.
    Type: Grant
    Filed: August 25, 2016
    Date of Patent: June 2, 2020
    Assignee: Apple Inc.
    Inventors: Manu Gulati, Joseph Sokol, Jr., Jeffrey R. Wilcox, Bernard J. Semeria, Michael J. Smith
  • Patent number: 10671699
    Abstract: Address generators for use in verifying an integrated circuit hardware design for an n-way set associative cache. The address generator is configured to generate, from a reverse hashing algorithm matching the hashing algorithm used by the n-way set associative cache, a list of cache set addresses that comprises one or more addresses of the main memory corresponding to each of one or more target sets of the n-way set associative cache. The address generator receives requests for addresses of main memory from a driver to be used to generate stimuli for testing an instantiation of the integrated circuit hardware design for the n-way set associative cache. In response to receiving a request the address generator provides an address from the list of cache set addresses.
    Type: Grant
    Filed: March 7, 2018
    Date of Patent: June 2, 2020
    Assignee: Imagination Technologies Limited
    Inventors: Anthony Wood, Philip Chambers
  • Patent number: 10642744
    Abstract: An improved architectural means to address processor cache attacks based on speculative execution defines a new memory type that is both cacheable and inaccessible by speculation. Speculative execution cannot access and expose a memory location that is speculatively inaccessible. Such mechanisms can disqualify certain sensitive data from being exposed through speculative execution. Data which must be protected at a performance cost may be specifically marked. If the processor is told where secrets are stored in memory and is forbidden from speculating on those memory locations, then the processor will ensure the process trying to access those memory locations is privileged to access those locations before reading and caching them. Such countermeasure is effective against attacks that use speculative execution to leak secrets from a processor cache.
    Type: Grant
    Filed: June 28, 2018
    Date of Patent: May 5, 2020
    Assignee: NVIDIA Corporation
    Inventors: Darrell D. Boggs, Ross Segelken, Mike Cornaby, Nick Fortino, Shailender Chaudhry, Denis Khartikov, Alok Mooley, Nathan Tuck, Gordon Vreugdenhil
  • Patent number: 10482029
    Abstract: Techniques for obtaining metadata may include: receiving, by a director, an I/O operation directed to a target offset of a logical device, wherein the director is located on a board including a local page table used by components on the board; querying the local page table for a global memory address of first metadata for the target offset of the logical device; and responsive to the local page table not having the global memory address of the first metadata for the target offset of the logical device, using at least a first indirection layer to obtain the global memory address of the first metadata. The global memory may be a distributed global memory including memory segments from multiple different boards each including its own local page table. Compare and swap operations may be used to perform atomic operations to ensure synchronized access when updating the distributed global memory.
    Type: Grant
    Filed: July 31, 2017
    Date of Patent: November 19, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Andrew Chanler, Kevin Tobin
  • Patent number: 10460419
    Abstract: A hierarchical acceleration structure may be built for graphics processing using a 32 bit format. In one embodiment, the acceleration structure may be a k-d tree, but other acceleration structures may be used as well. 64 bit offsets are only used when 64 bit offsets are needed.
    Type: Grant
    Filed: October 26, 2018
    Date of Patent: October 29, 2019
    Assignee: Intel Corporation
    Inventors: Alexey Soupikov, Maxim Yurevich Shevtsov, Alexander Reshetov
  • Patent number: 10452566
    Abstract: One embodiment of the present invention includes a memory management unit (MMU) that is configured to efficiently process requests to access memory that includes protected regions. Upon receiving an initial request via a virtual address (VA), the MMU translates the VA to a physical address (PA) based on page table entries (PTEs) and gates the response based on page-specific secure state information. To thwart software-based attempts to illicitly access the protected regions, the secure state information is not stored in page tables. However, to expedite subsequent requests, after the MMU identifies the PTE and the corresponding secure state information, the MMU stores both the PTE and the secure state information as a cache line in a translation lookaside buffer.
    Type: Grant
    Filed: October 2, 2015
    Date of Patent: October 22, 2019
    Assignee: NVIDIA CORPORATION
    Inventors: Steven E. Molnar, James Leroy Deming, Michael A. Woodmansee
  • Patent number: 10452290
    Abstract: In one implementation, a method includes maintaining a list of available allocation units across a plurality of flash devices of a flash storage system, wherein the flash devices map erase blocks as directly addressable storage, and wherein erase blocks are categorized by the flash storage system as available for use, in use, or unusable, and wherein at least a portion of an erase block can be assigned as an allocation unit. The method further includes receiving data from a plurality of sources, wherein the data is associated with processing a dataset, the dataset comprising multiple file systems and associated metadata. The method further includes determining a plurality of subsets of the data such that each subset is capable of being written in parallel with the remaining subsets, mapping each subset of the plurality of subsets to an available allocation unit, and writing the plurality of subsets in parallel.
    Type: Grant
    Filed: July 31, 2017
    Date of Patent: October 22, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Peter E. Kirkpatrick, Ronald Karr
  • Patent number: 10423804
    Abstract: Techniques are disclosed relating to securely storing data in a computing device. In one embodiment, a computing device includes a secure circuit configured to maintain key bags for a plurality of users, each associated with a respective one of the plurality of users and including a first set of keys usable to decrypt a second set of encrypted keys for decrypting data associated with the respective user. The secure circuit is configured to receive an indication that an encrypted file of a first of the plurality of users is to be accessed and use a key in a key bag associated with the first user to decrypt an encrypted key of the second set of encrypted keys. The secure circuit is further configured to convey the decrypted key to a memory controller configured to decrypt the encrypted file upon retrieval from a memory.
    Type: Grant
    Filed: September 23, 2016
    Date of Patent: September 24, 2019
    Assignee: Apple Inc.
    Inventors: Wade Benson, Conrad Sauerwald, Mitchell D. Adler, Michael Brouwer, Timothee Geoghegan, Andrew R. Whalley, David P. Finkelstein, Yannick L. Sierra
  • Patent number: 10338962
    Abstract: A system and method of using metrics to control throttling and swapping in a message processing system is provided. A workload status of a message processing system is determined, and the system polls for a new message according to the workload status. The message processing system identifies a blocked instance and calculates an expected idle time for the blocked instance. The system dehydrates the blocked instance if the expected idle time exceeds a predetermined threshold.
    Type: Grant
    Filed: October 10, 2016
    Date of Patent: July 2, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yossi Levanoni, Sanjib Saha, Bimal Kumar Mehta, Paul Maybee, Lee B. Graber, Balasubramanian Sriram, Eldar Azerovich Musayev, Kevin Bowen Smith
  • Patent number: 10255197
    Abstract: A system for generating predictions for a hardware table walk to find a map of a given virtual address to a corresponding physical address is disclosed. The system includes a plurality memories, which each includes respective plurality of entries, each of which includes a prediction of a particular one of a plurality of buffers which includes a portion of a virtual to physical address translation map. A first circuit may generate a plurality of hash values to retrieve a plurality of predictions from the plurality of memories, where each has value depends on a respective address and information associated with a respective thread. A second circuit may select a particular prediction of the retrieved predictions to use based on a history of previous predictions.
    Type: Grant
    Filed: July 20, 2016
    Date of Patent: April 9, 2019
    Assignee: Oracle International Corporation
    Inventors: John Pape, Manish Shah, Gideon Levinsky, Jared Smolens
  • Patent number: 10216644
    Abstract: According to one embodiment, a memory system includes a nonvolatile first memory, a second memory which has a buffer, and a memory controller. The memory controller manages a plurality of pieces of translation information. In a case where the plurality of pieces of translation information include a first plurality of pieces of translation information, the memory controller caches first translation information among the first plurality of pieces of translation information and does not cache second translation information among the first plurality of pieces of translation information. The first plurality of pieces of translation information linearly correlates a plurality of continuous physical addresses with a plurality of continuous logical addresses.
    Type: Grant
    Filed: March 2, 2017
    Date of Patent: February 26, 2019
    Assignee: Toshiba Memory Corporation
    Inventors: Shunichi Igahara, Toshikatsu Hida, Mitsunori Tadokoro
  • Patent number: 10198463
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for appending data to large data volumes in a multi-tenant store. These mechanisms and methods for appending data to large data volumes can enable embodiments to provide more reliable and faster maintenance of changing data. In an embodiment and by way of example, a method for appending data to large data volumes is provided. The method embodiment includes receiving new data for a database. The new data is written to a temporary log. The size of the log is compared to a threshold. Then the log is written to a data store, if the size of the log is greater than the threshold.
    Type: Grant
    Filed: December 7, 2010
    Date of Patent: February 5, 2019
    Assignee: salesforce.com, inc.
    Inventors: Bill C. Eidson, Simon Z. Fell
  • Patent number: 10169039
    Abstract: A computer processor that implements pre-translation of virtual addresses is disclosed. The computer processor may include a register file comprising one or more registers. The computer processor may include processing logic. The processing logic may receive a value to store in a register of one or more registers. The processing logic may store the value in the register. The processing logic may designate the received value as a virtual address, the virtual address having a corresponding virtual base page number. The processing logic may translate the virtual base page number to a corresponding real base page number and zero or more real page numbers corresponding to zero or more virtual page numbers adjacent to the virtual base page number. The processing logic may further store in the register of the one or more registers the real base page number and the zero or more real page numbers.
    Type: Grant
    Filed: March 31, 2016
    Date of Patent: January 1, 2019
    Assignee: OPTIMUM SEMICONDUCTOR TECHNOLOGIES, INC.
    Inventors: Mayan Moudgill, Gary Nacer, C. John Glossner, A. Joseph Hoane, Paul Hurtley, Murugappan Senthilvelan, Pablo Balzola
  • Patent number: 10163187
    Abstract: A hierarchical acceleration structure may be built for graphics processing using a 32 bit format. In one embodiment, the acceleration structure may be a k-d tree, but other acceleration structures may be used as well. 64 bit offsets are only used when 64 bit offsets are needed.
    Type: Grant
    Filed: October 30, 2009
    Date of Patent: December 25, 2018
    Assignee: Intel Corproation
    Inventors: Alexei Soupikov, Maxim Y. Shevtsov, Alexander V. Reshetov
  • Patent number: 10108550
    Abstract: Methods, systems, and apparatus for receiving a request to access, from a main memory, data contained in a first portion of a first page of data, the first page of data having a first page size; initiating a page fault based on determining that the first page of data is not stored in the main memory; allocating a portion of the main memory equivalent to the first page size; transferring the first portion of the first page of data from the secondary memory to the allocated portion of the main memory without transferring the entire first page of data; and updating a first page table entry associated with the first portion of the first page of data to point to a location of the allocated portion of the main memory to which the first portion of the first page of data is transferred.
    Type: Grant
    Filed: September 22, 2016
    Date of Patent: October 23, 2018
    Assignee: Google LLC
    Inventors: Joel Dylan Coburn, Albert Borchers, Christopher Lyle Johnson, Robert S. Sprinkle
  • Patent number: 10102143
    Abstract: A data processing system 2 includes an address translation cache 12 to store a plurality of address translation entries. Eviction control circuitry 10 selects a victim entry for eviction from address translation cache 12 using an eviction control parameter. The address translation cache 12 can store multiple different types of entry corresponding to respective different levels of address translation within a multiple-level page table walk. The different types of entry have different eviction control parameters assigned at the time of allocation. Eviction from the address translation cache is dependent upon the entry type, as well as the subsequent accesses to the entry concerned and the other entries within the address translation cache.
    Type: Grant
    Filed: October 14, 2016
    Date of Patent: October 16, 2018
    Assignee: ARM Limited
    Inventors: Barry Duane Williamson, Michael Filippo, . Abhishek Raja, Adrian Montero, Miles Robert Dooley
  • Patent number: 10061775
    Abstract: A method, system and a computer program product for managing file system memory includes a module configured to implement a separate replacement policy and a separate index for a persistent second level adaptive replacement cache (L2ARC) logically part of a first level ARC. The system also includes a module configured to cluster compressed chunks of data on multiple physical devices via aligning the clusters of data chunks on a byte boundary basis on each of the devices. The method additionally includes a module configured to create a storage pool allocator (SPA) to track the compressed and packed chunks on the multiple devices via an attached active page and attached multiple closed pages. The method further includes re-adding an evicted data from the L2ARC to an active page to be written again thereto based on a configurable threshold number of hits to data in the L2ARC via an L2ARC hit counter.
    Type: Grant
    Filed: June 17, 2017
    Date of Patent: August 28, 2018
    Assignee: HGST, Inc.
    Inventors: Shailendra Tripathi, Daniel McGregor, Enyew Tan
  • Patent number: 9959044
    Abstract: A memory device includes a first storage unit storing an address mapping table, and a control unit coupled to the first storage unit and including a second storage unit storing a risky mapping table and a cached mapping table. The control unit is configured to: write data into the first storage unit; update mapping information associated with the data in the risky mapping table; and store mapping information in the cached mapping table into the address mapping table.
    Type: Grant
    Filed: May 3, 2016
    Date of Patent: May 1, 2018
    Assignee: Macronix International Co., Ltd.
    Inventors: Ting-Yu Liu, Nai-Ping Kuo, Yi-Chun Liu, Jian-Shing Liu
  • Patent number: 9921918
    Abstract: Systems and methods are provided to manage a storage object in a data backup storage mechanism, which stores multiple versions of a data file received from a data source. To efficiently manage storage in the storage object, determinations may be made as to whether a number of free data blocks (i.e., data blocks available for re-use) of the storage object exceeds a threshold and whether a data block(s) of the data file corresponding to a valid data block(s) of the storage object has not been modified in at least a number of previous versions of the data file. Responsive to a result of one or both of these determinations, data in the valid data block(s) may be copied to unused data block(s) in another storage object, and the status of the valid data block(s) is updated to free data block(s) such that all blocks in the storage object are free data blocks.
    Type: Grant
    Filed: August 30, 2013
    Date of Patent: March 20, 2018
    Assignee: CA, Inc.
    Inventors: Venkata Subrahmanya Sarma Yellapragada, Vijaya Kumar Pothireddy, Umasankar Raju Yallamraju, Avi Khinvasara
  • Patent number: 9824023
    Abstract: A management method of a virtual-to-physical address translation system includes the following steps: providing a first storage space, wherein the first storage space includes a plurality of buffer entries; providing a second storage space, wherein the second storage space includes a plurality of translation entries, and the translation entries correspond to a plurality of translation indices; and when receiving a write instruction to write a first virtual-to-physical address translation into a specific buffer entry of the buffer entries, storing the first virtual-to-physical address translation in a write translation entry of the translation entries according to a first part of bits of a first virtual address corresponding to the first virtual-to-physical address translation, and storing the first virtual address and a write translation index corresponding to the write translation entry in the specific buffer entry.
    Type: Grant
    Filed: November 18, 2014
    Date of Patent: November 21, 2017
    Assignee: Realtek Semiconductor Corp.
    Inventor: Yen-Ju Lu
  • Patent number: 9785574
    Abstract: A system may include a memory that includes a plurality of pages, a processor, and a translation lookaside buffer (TLB) that includes a plurality of entries. The processor may be configured to access data from a subset of the plurality of pages dependent upon a first virtual address. The TLB may be configured to compare the first virtual address to respective address information included in each entry of the plurality of entries. The TLB may be further configured to add a new entry to the plurality of entries in response to a determination that the first virtual address fails to match the respective address information included in each entry of the plurality of entries. The new entry may include address information corresponding to at least two pages of the subset of the plurality pages.
    Type: Grant
    Filed: July 8, 2015
    Date of Patent: October 10, 2017
    Assignee: Oracle International Corporation
    Inventor: Yuan Chou
  • Patent number: 9767043
    Abstract: A method, a system and a computer-readable medium for writing to a cache memory are provided. The method comprises maintaining a write count associated with a set, the set containing a memory block associated with a physical block address. A mapping from a logical address to the physical address of the block is also maintained. The method shifts the mapping based on the value of the write count and writes data to the block based on the mapping.
    Type: Grant
    Filed: March 28, 2014
    Date of Patent: September 19, 2017
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Zhe Wang, Yuan Xie, Yi Xu, Junli Gu, Ting Cao
  • Patent number: 9740597
    Abstract: Approaches for more efficiently executing calls to native code from within a managed execution environment are described. The techniques involve attempting to execute a native call, such as a call to a C function from within Java code, using a single hardware transaction. Not only is the native code executed in a hardware transaction, but also various transitional operations needed for transitioning between managed execution mode and native execution mode. If the hardware transaction is successful, at least some of the operations that would normally be performed during transitions between modes may be omitted or simplified. If the hardware transaction is unsuccessful, the native calls may be performed as they normally would, outside of hardware transactions.
    Type: Grant
    Filed: March 9, 2015
    Date of Patent: August 22, 2017
    Assignee: Oracle International Corporation
    Inventors: John R. Rose, Victor Luchangco, David Dice
  • Patent number: 9575881
    Abstract: Systems, methods, and computer programs are disclosed for allocating memory in a portable computing device having a non-uniform memory architecture. One embodiment of a method comprises: receiving from a process executing on a first system on chip (SoC) a request for a virtual memory page, the first SoC electrically coupled to a second SoC via an interchip interface, the first SoC electrically coupled to a first local volatile memory device via a first high-performance bus and the second SoC electrically coupled to a second local volatile memory device via a second high-performance bus; determining a free physical page pair comprising a same physical address available on the first and second local volatile memory devices; and mapping the free physical page pair to a single virtual page address.
    Type: Grant
    Filed: December 4, 2014
    Date of Patent: February 21, 2017
    Assignee: QUALCOMM INCORPORATED
    Inventors: Stephen Arthur Molloy, Dexter Tamio Chun
  • Patent number: 9569322
    Abstract: A method for memory migration between addressing schemes, including: receiving a first request to access a first memory address and a second request to access a second memory address; comparing the first memory address and the second memory address with a barrier pointer referencing a barrier address and separating migrated addresses and un-migrated addresses; tagging the first request with a first tag indicative of the first addressing scheme in response to the first memory address being on an un-migrated side of the barrier address; tagging the second request with a second tag indicative of the second addressing scheme in response to the second memory address being on a migrated side of the barrier address; and sending the first request to a first memory controller unit (MCU) and the second request to a second MCU.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: February 14, 2017
    Assignee: Oracle International Corporation
    Inventors: Ali Vahidsafa, Connie Wai Mun Cheung
  • Patent number: 9558119
    Abstract: Main memory operation in a symmetric multiprocessing computer, the computer comprising one or more processors operatively coupled through a cache controller to at least one cache of main memory, the main memory shared among the processors, the computer further comprising input/output (‘I/O’) resources, including receiving, in the cache controller from an issuing resource, a memory instruction for a memory address, the memory instruction requiring writing data to main memory; locking by the cache controller the memory address against further memory operations for the memory address; advising the issuing resource of completion of the memory instruction before the memory instruction completes in main memory; issuing by the cache controller the memory instruction to main memory; and unlocking the memory address only after completion of the memory instruction in main memory.
    Type: Grant
    Filed: June 23, 2010
    Date of Patent: January 31, 2017
    Assignee: International Business Machines Corporation
    Inventors: Garrett M. Drapala, Pak-Kin Mak, Arthur J. O'Neill, Jr., Craig R. Walters
  • Patent number: 9547602
    Abstract: Presented systems and methods can facilitate efficient information storage and tracking operations, including translation look aside buffer operations. In one embodiment, the systems and methods effectively allow the caching of invalid entries (with the attendant benefits e.g., regarding power, resource usage, stalls, etc), while maintaining the illusion that the TLBs do not in fact cache invalid entries (e.g., act in compliance with architectural rules). In one exemplary implementation, an “unreal” TLB entry effectively serves as a hint that the linear address in question currently has no valid mapping. In one exemplary implementation, speculative operations that hit an unreal entry are discarded; architectural operations that hit an unreal entry discard the entry and perform a normal page walk, either obtaining a valid entry, or raising an architectural fault.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: January 17, 2017
    Assignee: NVIDIA CORPORATION
    Inventors: Alexander Klaiber, Guillermo Juan Rozas
  • Patent number: 9405713
    Abstract: The functional circuitry of a network flow processor is partitioned into a number of rectangular islands. The islands are disposed in rows. A configurable mesh data bus extends through the islands. A first island includes a first memory and a first data bus interface. A second island includes a processor, a second memory, and a second data bus interface. The processor can issue a command for a target memory to do an action. If a field in the command has a first value then the target memory is the first memory, whereas if the field has a second value then the target memory is in the second memory. The command format is the same, regardless of whether the target memory is local or remote. If the target memory is remote, then a data bus bridge adds destination information before putting the command onto the global configurable mesh data bus.
    Type: Grant
    Filed: February 17, 2012
    Date of Patent: August 2, 2016
    Assignee: Netronome Systems, Inc.
    Inventors: Gavin J. Stark, Steven W. Zagorianakos