Address Mapping (e.g., Conversion, Translation) Patents (Class 711/202)
  • Patent number: 10042775
    Abstract: Embodiments relate to a virtualized storage environment with one or more virtual machines operating on a host and sharing host resources. Each virtual machine has a virtual disk in communication with a persistent storage device. The virtual machine(s) may be misaligned with the persistent storage device so that a virtual block address does not correspond with a persistent storage block address. A relationship between the virtual disk(s) and the persistent storage device is established, and more specifically, an alignment delta between the devices is established. The delta is employed to translate the virtual address to the persistent address so that the virtual and persistent storage blocks are aligned to satisfy a read or write operation.
    Type: Grant
    Filed: August 18, 2015
    Date of Patent: August 7, 2018
    Assignee: International Business Machines Corporation
    Inventors: Nathan D. Fontenot, Robert C. Jennings, Jr., Joel H. Schopp, Michael T. Strosaker
  • Patent number: 10032019
    Abstract: Discrete events that take place with respect to a hard disk drive or other I/O device or port are indicated to logic that implements Self-Monitoring Analysis and Reporting Technology (SMART) or similar technology. These events are communicated to SMART as event data. Examples of such discrete events include power on, power off, spindle start, and spindle stop, positioning of the actuator, and the time at which such events occur. SMART then compiles event data to create compiled activity data. Compiled activity data represents summary statistical information that is created by considering some or all of the event data. Examples of compiled activity data include the Time Powered On and Power Cycle Count. Collection logic then writes the compiled activity data to a memory medium. An analyst can then read data from log file(s).
    Type: Grant
    Filed: November 17, 2015
    Date of Patent: July 24, 2018
    Assignee: Stroz Friedberg, Inc.
    Inventors: Donald E. Allison, Kenneth A. Mendelson
  • Patent number: 10032025
    Abstract: An anti-malware application detects, stops, and quarantines ransomware. The anti-malware application monitors threads executing on a computing device and detects behaviors that conform to a predefined set of behaviors indicative of ransomware. Responsive to detecting these behaviors, indicators are stored to a log in a storage device. Each of the indicators in the log is associated with respective scores. A running score for each thread is generated by combining the respective scores of the indicators in the log. Responsive to determining that the running score exceeds a predefined threshold score, execution of the thread is terminated. The source ransomware file is then identified and quarantined.
    Type: Grant
    Filed: July 5, 2017
    Date of Patent: July 24, 2018
    Assignee: Malwarebytes Inc.
    Inventors: Mark William Patton, Ares Lopez Ituiño
  • Patent number: 10025615
    Abstract: An example method of updating a virtual machine (VM) identifier (ID) stored in a memory buffer allocated from guest memory includes supplying firmware to a guest running on a VM that is executable on a host machine. The firmware includes instructions to allocate a memory buffer. The method also includes obtaining a buffer address of the memory buffer. The memory buffer is in guest memory and stores a VM ID that identifies a first instance of the VM. The method further includes storing the buffer address into hypervisor memory. The method also includes receiving an indication that the VM ID has been updated. The method further includes using the buffer address stored in hypervisor memory to update the VM ID.
    Type: Grant
    Filed: April 17, 2017
    Date of Patent: July 17, 2018
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Gal Hammer
  • Patent number: 10025533
    Abstract: A logical block address space of a storage compute device is reserved for use in executing commands from a host. First data is received at a first portion of the logical block address space, the first data causing a computation to be performed by the storage compute device. Second data is sent to the host via a second portion of the logical block address space, the second data describing a result of the computation.
    Type: Grant
    Filed: January 9, 2017
    Date of Patent: July 17, 2018
    Assignee: Seagate Technology LLC
    Inventors: Richard Esten Bohn, Peng Li, David Tetzlaff
  • Patent number: 10025281
    Abstract: A control device capable of appropriately switching operating modes when multitasking is being performed is provided. A CPU unit is provided with a task executing unit for executing a plurality of tasks in parallel, and for executing each task in cycles based on each task; and a mode switching unit for switching operating modes. The task executing unit is configured in such a manner that when in operation mode, a user program is executed for each task, and when in program mode, a user program is not executed for each task.
    Type: Grant
    Filed: September 26, 2011
    Date of Patent: July 17, 2018
    Assignee: OMRON CORPORATION
    Inventors: Osamu Hamasaki, Shigeyuki Eguchi, Akiro Kobayashi, Yukio Iname, Koji Yaoita
  • Patent number: 10019198
    Abstract: Provided are an apparatus and method for processing sequential writes portions of an addressable unit memory dies to store data. A write to a first portion of an addressable unit is received and the write is written to the first portion of the addressable unit. A next write is received to a next portion of the addressable unit following a previous write to a previous portion of the addressable unit. The next write is written to the next portion of the addressable unit sequentially following the previous portion in response to the next write being sequential with respect to the previous write. Data other than the next write is written to the addressable unit following the previous portion in response to the next write not being sequential with respect to the previous write.
    Type: Grant
    Filed: April 1, 2016
    Date of Patent: July 10, 2018
    Assignee: INTEL CORPORATION
    Inventor: Frank T. Hady
  • Patent number: 10019583
    Abstract: A Protected Walk-based Shadow Paging (PWSP) method includes storing a multiple level first stage (S1) page tables structure in second stage (S2) page tables. The method includes: when an S1 page table in an S2 page table entry is marked with a writable attribute: (i) permitting an operating system (OS) to write to the S1 page table, (ii) blocking a memory management unit (MMU) from reading the S1 page table for translation, and (iii) in response, verifying the S1 page table for translation and changing the marking of the S1 page table in the S2 page table entry to a read-only attribute, enabling the MMU to subsequently read the S1 page table.
    Type: Grant
    Filed: April 1, 2016
    Date of Patent: July 10, 2018
    Assignee: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Kirk R. Swidowski, Ahmed M. Azab
  • Patent number: 10013358
    Abstract: A computer system includes: a physical resource including a memory; a virtualization mechanism that provides a virtual computer to which the physical resource is allocated; and a cache state management mechanism that manages a cache state of the virtual computer. The virtualization mechanism provides a first virtual computer and a second virtual computer. The cache state management mechanism manages the cache state of each of the first virtual computer and the second virtual computer. When the cache state management mechanism detects transition of the cache state in a state where a memory area allocated to a cache of the first virtual computer and a memory area allocated to a cache of the second virtual computer include duplicated areas storing same data, the virtualization mechanism releases the duplicated area in one of the first virtual computer and the second virtual computer.
    Type: Grant
    Filed: July 24, 2014
    Date of Patent: July 3, 2018
    Assignee: HITACHI, LTD.
    Inventors: Sachie Tajima, Tadashi Takeuchi
  • Patent number: 10007435
    Abstract: Examples of the present disclosure provide apparatuses and methods related to a translation lookaside buffer in memory. An example method comprises receiving a command including a virtual address from a host translating the virtual address to a physical address on volatile memory of a memory device using a translation lookaside buffer (TLB).
    Type: Grant
    Filed: May 21, 2015
    Date of Patent: June 26, 2018
    Assignee: Micron Technology, Inc.
    Inventors: John D. Leidel, Richard C. Murphy
  • Patent number: 9996474
    Abstract: A multiple stage memory management unit (MMU) comprises a first MMU stage configured to translate an input virtual memory address to a corresponding intermediate memory address, the first MMU stage generating a set of two or more intermediate memory addresses including the corresponding intermediate memory address; and a second MMU stage configured to translate an intermediate memory address provided by the first MMU stage to a physical memory address, the second MMU stage providing, in response to an intermediate memory address received from the first MMU stage, a set of two or more physical memory addresses including the physical memory address corresponding to the intermediate memory address received from the first MMU stage; the first MMU stage being configured to provide to the second MMU stage for translation, intermediate memory addresses in the set other than any intermediate memory addresses in the set for which the second MMU stage will provide a physical memory address as a response to translation
    Type: Grant
    Filed: March 22, 2016
    Date of Patent: June 12, 2018
    Assignee: Arm Limited
    Inventors: Vahan Ter-Grigoryan, Hakan Lars-Goran Persson, Jesus Javier de los Reyes Darias, Vinod Pisharath Hari Pai
  • Patent number: 9990134
    Abstract: Apparatus and method for managing data in a hybrid data storage device. In some embodiments, a hybrid device has a hard disc drive (HDD) controller circuit coupled to non-volatile rotatable media and a solid state drive (SSD) controller circuit coupled to non-volatile solid state memory. A top level controller circuit directs a selected access command one of the HDD controller circuit or the SSD controller circuit responsive to a selected parameter associated with the selected access command. In a normal mode, the top level controller circuit directs a transfer of data between the host and the HDD controller circuit and handles host interface communications. In a tunneling mode, the top level controller circuit directly connects the HDD controller circuit to the host device. In this way, tunnel mode bypasses processing operations required by the top level controller circuit. Tunnel mode and normal mode may be selected on a command-by-command basis.
    Type: Grant
    Filed: June 15, 2016
    Date of Patent: June 5, 2018
    Assignee: Seagate Technology LLC
    Inventor: Stanton M. Keeler
  • Patent number: 9990278
    Abstract: An overlaid erase block (EB) mapping scheme for a flash memory provides efficient wear-leveling and reduces mount operation latency. The overlaid EB mapping scheme maps a first type of EB onto one of a plurality of physical erase blocks, in a corresponding portion of the flash memory. The first type of EB includes a plurality of pointers. The overlaid EB mapping scheme also maps each of second and third types of EBs onto one of the physical EBs that is not mapped to the first type of EB. The second type of EBs store system management information and the third type of EBs store user data. When the flash memory is started up, the overlaid EB mapping scheme scans the corresponding portion to locate the first type of EB, locates the system EBs using the pointers, and locates the data EBs using the system management information.
    Type: Grant
    Filed: October 20, 2014
    Date of Patent: June 5, 2018
    Assignee: Cypress Semiconductor Corporation
    Inventors: Shinsuke Okada, Sunil Atri, Hiroyuki Saito
  • Patent number: 9971525
    Abstract: A processing device receives a request to delete a snapshot of a virtual machine. The processing device identifies a volume chain of a virtual disk in a shared storage that includes a destination storage volume and a source storage volume. The snapshot is associated with the source storage volume or the destination storage volume. The processing device instructs a host machine to perform a merge operation to merge data of the source storage volume with data of the destination storage volume and to delete the snapshot. The processing device monitors a set of writable storage volumes that comprises the destination storage volume to determine whether a storage threshold for any storage volume of the set of writable storage volumes is met during the merge operation. In response to the storage threshold being met during the merge operation, the processing device causes the performance of an extension operation to extend the allocated disk space of at least one storage volume of the set of writable storage volumes.
    Type: Grant
    Filed: February 26, 2015
    Date of Patent: May 15, 2018
    Assignee: Red Hat, Inc.
    Inventors: Adam Litke, Federico Simoncelli
  • Patent number: 9971504
    Abstract: A management method of a hybrid storage unit and an electronic apparatus of the hybrid storage unit are provided. The electronic apparatus includes a hybrid storage unit. The hybrid storage unit includes a first storage unit and a second storage unit. The second storage unit includes a first storage area and a second storage area. If a relationship between the electronic apparatus and an external apparatus is detected as being an undocked relationship, the first storage unit is disabled by a controller of the hybrid storage unit, and the second storage area serves to simulate and replace the first storage unit. The controller reports a storage unit status change notification to an operating system, so as to allow the operating system to re-enumerate the hybrid storage unit.
    Type: Grant
    Filed: February 26, 2015
    Date of Patent: May 15, 2018
    Assignee: COMPAL ELECTRONICS, INC.
    Inventors: Chih-Chien Liu, Chun-Sheng Chen, Sheng-Hung Lee, Chin-Kuo Huang, Chin-Liang Hsu
  • Patent number: 9965343
    Abstract: Disclosed is a method of determining concurrency factors for an application running on a parallel processor. Also disclosed is a system for implementing the method. In an embodiment, the method includes running at least a portion of the kernel as sequences of mini-kernels, each mini-kernel including a number of concurrently executing workgroups. The number of concurrently executing workgroups is defined as a concurrency factor of the mini-kernel. A performance measure is determined for each sequence of mini-kernels. From the sequences, a particular sequence is chosen that achieves a desired performance of the kernel, based on the performance measures. The kernel is executed with the particular sequence.
    Type: Grant
    Filed: May 13, 2015
    Date of Patent: May 8, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Rathijit Sen, Indrani Paul, Wei Huang
  • Patent number: 9940259
    Abstract: Embodiments relate to a virtualized storage environment with one or more virtual machines operating on a host and sharing host resources. Each virtual machine has a virtual disk in communication with a persistent storage device. The virtual machine(s) may be misaligned with the persistent storage device so that a virtual block address does not correspond with a persistent storage block address. A relationship between the virtual disk(s) and the persistent storage device is established, and more specifically, an alignment delta between the devices is established. The delta is employed to translate the virtual address to the persistent address so that the virtual and persistent storage blocks are aligned to satisfy a read or write operation.
    Type: Grant
    Filed: January 16, 2015
    Date of Patent: April 10, 2018
    Assignee: International Business Machines Corporation
    Inventors: Nathan D. Fontenot, Robert C. Jennings, Jr., Joel H. Schopp, Michael T. Strosaker
  • Patent number: 9940129
    Abstract: A computer processor with register direct branches and employing an instruction preload structure is disclosed. The computer processor may include a hierarchy of memories comprising a first memory organized in a structure having one or more entries for one or more addresses corresponding to one or more instructions. The one or more entries of the one or more addresses may have a starting address. The structure may have one or more locations for storing the one or more instructions. The computer processor may include one or more registers to which one or more corresponding instruction addresses are writable. The computer processor may include processing logic.
    Type: Grant
    Filed: March 31, 2016
    Date of Patent: April 10, 2018
    Assignee: Optimum Semiconductor Technologies, Inc.
    Inventors: Mayan Moudgill, Gary Nacer, C. John Glossner, A. Joseph Hoane, Paul Hurtley, Murugappan Senthilvelan, Pablo Balzola
  • Patent number: 9928045
    Abstract: An information processing apparatus includes: a memory configured to store a first code; and a processor configured to compile a source file to generate the first code, wherein the processor: generates a second code, which is executable by the processor, based on a result of analysis of the source program; and divides the second code into blocks of a size equal to or smaller than a given size including a reservation region to generate the first code.
    Type: Grant
    Filed: July 12, 2016
    Date of Patent: March 27, 2018
    Assignee: FUJITSU LIMITED
    Inventors: Kohta Nakashima, Yuto Tamura, Masao Yamamoto
  • Patent number: 9916162
    Abstract: Methods and systems may synchronize workloads across local thread groups. The methods and systems may provide for receiving, at a graphics processor, a workload from a host processor and receiving, at a plurality of processing elements, a plurality of threads that from one or more local thread groups. Additionally, the processing of the workload may be synchronized across the one or more thread groups. In one example, the global barrier determines that all threads across the thread groups have been completed without polling.
    Type: Grant
    Filed: December 8, 2014
    Date of Patent: March 13, 2018
    Assignee: Intel Corporation
    Inventor: Niraj Gupta
  • Patent number: 9916095
    Abstract: Methods and systems are provided for fork-safe memory allocation from memory-mapped files. A child process may be provided a memory mapping at a same virtual address as a parent process, but the memory mapping may map the virtual address to a different location within a file than for the parent process.
    Type: Grant
    Filed: March 21, 2016
    Date of Patent: March 13, 2018
    Assignee: Kove IP, LLC
    Inventors: Timothy A. Stabrawa, Andrew S. Poling, Zachary A. Cornelius, Jesse I. Taylor, John Overton
  • Patent number: 9891860
    Abstract: A method is used in managing copying of data in storage systems. A request is received to copy a portion of a source logical object to a target logical object. The source and target logical objects are subject to a deduplicating technique. The portion of the source logical object is copied to the target logical object by updating metadata of the target logical object. The target logical object shares the portion of the source logical object.
    Type: Grant
    Filed: June 28, 2013
    Date of Patent: February 13, 2018
    Assignee: EMC IP Holding Company, LLC.
    Inventors: Diane M. Delgado, Lawrence Yetto, Christopher Seibel, John F. Gillono, Philippe Armangau, Alexei Karaban
  • Patent number: 9892254
    Abstract: Techniques for restricting the execution of algorithms contained in applications executing on virtual machines executing within a computer system are described herein. A first sampled set of computer executable instructions is gathered from a virtual machine by a controlling domain and compared against a reference set of computer executable instructions. If the first set is similar to the reference set, and if the execution of the algorithm corresponding to the reference set is restricted by one or more computer system polices, one or more operations limiting the execution of the restricted algorithm are performed, thus ensuring conformance with the computer system policies.
    Type: Grant
    Filed: September 11, 2015
    Date of Patent: February 13, 2018
    Assignee: Amazon Technologies, Inc.
    Inventor: Nicholas Alexander Allen
  • Patent number: 9891977
    Abstract: A method of and system for managing spaces in memory of a storage facility is disclosed. The method and system includes storing first and second identifiers in first and second spaces in memory in response to allocating the second space for a set of data. The first identifier is stored in a first field within the first space. The first space has a pointer in a second field. The pointer in the second field indicates an address of the second space. The second identifier is stored within a portion of the second space. In response to an error event, the first and second identifiers may be captured. A determination is made as to whether the pointer is directed to the set of data. The determination is based on a comparison of the first identifier and the second identifier.
    Type: Grant
    Filed: January 30, 2014
    Date of Patent: February 13, 2018
    Assignee: International Business Machines Corporation
    Inventors: Douglas W. Dewey, Kevin S. Goldsmith
  • Patent number: 9886736
    Abstract: A method for handling parallel processing clients associated with a server in a GPU, the method comprising: receiving a failure indication for at least client running a thread in the GPU; determining threads in the GPU associated with the failing client; exiting threads in the GPU associated with the failing client; and continuing to execute remaining threads in the GPU for other clients running threads in the GPU.
    Type: Grant
    Filed: September 9, 2014
    Date of Patent: February 6, 2018
    Assignee: NVIDIA CORPORATION
    Inventors: Kyrylo Perelygin, Vivek Kini, Vyas Venkataraman
  • Patent number: 9880909
    Abstract: Processes are disclosed for embodiments of a caching system to utilize a snapshot file or other limited size data structure to store a portion of the data stored in a cache. The snapshot file can be stored on persistent or otherwise non-transitory storage so that, even in case of a restart, crash or power loss event, the data stored in the snapshot file persists and can be used by the caching system after starting up. The snapshot file can then be used to restore at least some data into the cache in cases where the cached data in the cache is lost. For example, in cases of a cold-start or restart, the caching system can load data from the snapshot file into the empty cache. This can increase the number of cache hits since the cache is repopulated with useful data at startup.
    Type: Grant
    Filed: May 19, 2016
    Date of Patent: January 30, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Vishal Parakh, Antoun Joubran Kanawati
  • Patent number: 9875187
    Abstract: A first operation associated with a request for a page miss handler may be identified. A second operation associated with a current execution of the page miss handler may also be identified. An age of the first operation and an age of the second operation may be determined. The page miss handler may be interrupted based on the age of the first operation and the age of the second operation by stopping the current execution of the page miss handler for the second operation and starting execution of the page miss handler for the first operation.
    Type: Grant
    Filed: December 10, 2014
    Date of Patent: January 23, 2018
    Assignee: Intel Corporation
    Inventors: Christopher D. Bryant, Stephen J. Robinson
  • Patent number: 9870248
    Abstract: A hypervisor identifies a set of pages associated with a guest operating system (OS) of a virtual machine (VM) that are shared with an application. The hypervisor maps each of the set of pages associated with the guest OS to a corresponding page associated with the application. The hypervisor modifies a write protection attribute for each corresponding page associated with the application to cause a protection page fault upon an application attempt to update the corresponding page. The hypervisor detects updated pages by detecting the protection page fault upon the application attempt to update one of the corresponding pages associated with the application. The hypervisor then logs a modification of each updated corresponding page.
    Type: Grant
    Filed: August 13, 2015
    Date of Patent: January 16, 2018
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael Tsirkin
  • Patent number: 9870155
    Abstract: A device includes a host including a main memory, and semiconductor memory including a nonvolatile semiconductor memory, memory unit, and controller. The nonvolatile semiconductor memory stores first address information. The memory unit stores second address information as part of the first address information. The controller accesses the nonvolatile semiconductor memory based on the second address information. Third address information is stored in the main memory, and is part or all of the first address information. The controller uses the third address information when accessing the nonvolatile semiconductor memory if address information to be referred is not stored in the second address information.
    Type: Grant
    Filed: November 9, 2016
    Date of Patent: January 16, 2018
    Assignee: TOSHIBA MEMORY CORPORATION
    Inventors: Atsushi Kunimatsu, Kenichi Maeda
  • Patent number: 9852066
    Abstract: A method includes determining a first logical block address (LBA) range of a first set of data units of a first candidate block of the memory. The method also includes determining a second LBA range of a second set of data units of a relocation block of the memory. The method also includes determining that the first LBA range matches the second LBA range. The method further includes relocating first valid data of the first candidate block to the relocation block of the memory in response to determining that the first LBA range matches the second LBA range, where the first LBA range corresponds to multiple LBAs.
    Type: Grant
    Filed: July 3, 2014
    Date of Patent: December 26, 2017
    Assignee: SanDisk Technologies LLC
    Inventors: Amir Shaharabany, Alon Marcu, Hadas Oshinsky
  • Patent number: 9841974
    Abstract: A processor including a register file having a plurality of registers, and configured for out-of-order instruction execution, further includes a renamer unit that produces generation numbers that are associated with register file addresses to provide a renamed version of a register that is temporally offset from an existing version of that register rather than assigning a non-programmer-visible physical register as the renamed register.
    Type: Grant
    Filed: October 31, 2014
    Date of Patent: December 12, 2017
    Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
    Inventors: Sophie Wilson, John Redford, Tariq Kurd
  • Patent number: 9836232
    Abstract: A data storage device is disclosed comprising a volatile memory, a primary and a first secondary non-volatile memory (NVM), and control circuitry coupled to the volatile memory and the primary and first secondary NVM and configured to (a) write metadata and user data associated with a host write command to the volatile memory; (b) write the user data to the primary NVM; (c) continue to write metadata associated with each of one or more host write commands to the volatile memory, and when a first condition is met, write metadata that has accumulated in the volatile memory to the first secondary NVM; and (d) repeat (c), and when a second condition is met, then write at least a portion of the metadata that has accumulated in the first secondary NVM or the volatile memory to the primary NVM.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: December 5, 2017
    Assignee: Western Digital Technologies, Inc.
    Inventors: Steven R. Vasquez, James N. Malina
  • Patent number: 9836238
    Abstract: A compression engine and method for optimizing the high compression of a content addressable memory (CAM) and the efficiency of a static random access memory (SRAM) by synchronizing a CAM with a relatively small near history buffer and an SRAM with a larger far history buffer. An input stream is processed in parallel through the near history and far history components and an encoder selects for the compressed output the longest matching strings from matching strings provided by each of the near history and far history components.
    Type: Grant
    Filed: December 31, 2015
    Date of Patent: December 5, 2017
    Assignee: International Business Machines Corporation
    Inventors: Bulent Abali, Peter A. Franaszek, Luis A. Lastras
  • Patent number: 9836409
    Abstract: A command from an application is received to access a data structure associated with one or more virtual addresses mapped to main memory. A first subset of the virtual addresses for the data structure having constituent addresses that are mapped to the symmetric memory components and a second subset of the virtual addresses for the data structure having constituent addresses that are mapped to the asymmetric memory components are identified. Data associated with the virtual address from the first physical addresses and data associated with the virtual addresses from the second physical addresses are accessed. The data associated with the symmetric and asymmetric memory components is accessed by the application without providing the application with an indication of whether the data is accessed within the symmetric memory component or the asymmetric memory component.
    Type: Grant
    Filed: January 6, 2016
    Date of Patent: December 5, 2017
    Assignee: VIRIDENT SYSTEMS, LLC
    Inventors: Vijay Karamcheti, Kenneth A. Okin, Kumar Ganapathy, Ashish Singhai, Rajesh Parekh
  • Patent number: 9830174
    Abstract: Systems and methods of dynamic host code generation from architecture description for fast simulation. In accordance with a method embodiment of the present invention, a method of simulating execution of a first plurality of processor instructions written in a first instruction set comprises generating a second plurality of processor instructions in a second instruction set for emulating the first plurality of processor instructions. The generating is based upon the high level description of the instruction set and/or simulated state information during the simulating.
    Type: Grant
    Filed: October 19, 2006
    Date of Patent: November 28, 2017
    Assignee: Synopsys, Inc.
    Inventors: Jacques Van Damme, Achim Nohl, Olaf Luthje
  • Patent number: 9830260
    Abstract: The present invention relates to a method for a page-level address mapping based on flash memory and a system thereof. A method for a page-level address mapping based on a flash memory according to an embodiment of the present invention includes the steps of: receiving a write operation from a file system; generating condensed mapping information using a size of data information of the write operation and a start logical address of sequentially allocated logical addresses of the write operation; and storing the condensed mapping information as a first mapping table in a memory of a flash translation.
    Type: Grant
    Filed: December 31, 2013
    Date of Patent: November 28, 2017
    Assignee: AJOU UNIVERSITY INDUSTRY-ACADEMIC COOPERATION FOUNDATION
    Inventors: Se Jin Kwon, Tae Sun Chung, Jae Kwang Ban, Ho Young Jung
  • Patent number: 9830276
    Abstract: One embodiment of the present invention is a parallel processing unit (PPU) that includes one or more streaming multiprocessors (SMs) and implements a replay unit per SM. Upon detecting a page fault associated with a memory transaction issued by a particular SM, the corresponding replay unit causes the SM, but not any unaffected SMs, to cease issuing new memory transactions. The replay unit then stores the faulting memory transaction and any faulting in-flight memory transaction in a replay buffer. As page faults are resolved, the replay unit replays the memory transactions in the replay buffer—removing successful memory transactions from the replay buffer—until all of the stored memory transactions have successfully executed. Advantageously, the overall performance of the PPU is improved compared to conventional PPUs that, upon detecting a page fault, stop performing memory transactions across all SMs included in the PPU until the fault is resolved.
    Type: Grant
    Filed: February 20, 2017
    Date of Patent: November 28, 2017
    Assignee: NVIDIA Corporation
    Inventors: James Leroy Deming, Jerome F. Duluk, Jr., John Mashey, Mark Hairgrove, Lucien Dunning, Jonathon Stuart Ramsey Evans, Samuel H. Duncan, Cameron Buschardt, Brian Fahs
  • Patent number: 9830469
    Abstract: Systems, methods, and computer program products to perform an operation comprising monitoring a set of file access requests to a file from an application to obtain permission and identity information related to the monitored requests, wherein the monitoring includes obtaining a runtime stack from the application, storing the permission and identity information in a data file, determining for the application and a file of the set of files, privileges available to the application for the available authority based on the stored data file, determining a set of privileges needed by the application to access the file based on the stored data file, selecting privileges for a user of the application based on set of privileges needed by the application and the authority available to the application, and assigning the privileges for the user based on the selected privileges.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: November 28, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Mark J. Anderson, Carol S. Budnik, Anna P. Dietenberger, Scott Forstie, Brian J. Hasselbeck, Allen K. Mei, Ellen B. Streifel, Jeffrey M. Uehling
  • Patent number: 9823925
    Abstract: A processor includes allocation unit with logic to receive a logical move instruction. The logical move instruction includes a source logical register as a source parameter and a destination logical register as a destination parameter. The source logical register is assigned to a source physical register and the destination logical register is assigned to a destination physical register. The allocation unit includes logic to assign a first value of the source logical register to the destination logical register and to maintain a second value of the destination physical register before and after the assignment of the first value to the destination logical register.
    Type: Grant
    Filed: March 28, 2014
    Date of Patent: November 21, 2017
    Assignee: Intel Corporation
    Inventors: Denis M. Khartikov, Rupert Brauch, Raul Martinez, Naveen Neelakantam, Thang Vu
  • Patent number: 9811479
    Abstract: A computing device includes technologies for securing indirect addresses (e.g., pointers) that are used by a processor to perform memory access (e.g., read/write/execute) operations. The computing device encodes the indirect address using metadata and a cryptographic algorithm. The metadata may be stored in an unused portion of the indirect address.
    Type: Grant
    Filed: September 6, 2016
    Date of Patent: November 7, 2017
    Assignee: Intel Corporation
    Inventors: David M. Durham, Baiju Patel
  • Patent number: 9798630
    Abstract: Providing a snapshot of a physical memory region as of a specified time includes: sending, from a first processor to a second processor, a request to generate a snapshot of the physical memory region as of the specified time; and generating, using the second processor, the snapshot of the physical memory region based at least in part on a known state of the physical memory region and log information about update activity of the physical memory region.
    Type: Grant
    Filed: February 11, 2014
    Date of Patent: October 24, 2017
    Assignee: Intel Corporation
    Inventor: David R. Cheriton
  • Patent number: 9792228
    Abstract: A method, a system and a computer-readable medium for writing to a non-volatile cache memory are provided. The method maintains a write count associated with a set of memory locations. The method then selects a cache replacement policy based on the value of the write count and selecting a block within the set for writing data using the selected cache replacement policy. The selected cache replacement policy can introduce a randomized selection.
    Type: Grant
    Filed: March 28, 2014
    Date of Patent: October 17, 2017
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Zhe Wang, Yuan Xie, Yi Xu, Junli Gu, Ting Cao
  • Patent number: 9785545
    Abstract: A method and system for providing a dual memory access to a non-volatile memory device using expended memory addresses are disclosed. The digital processing system such as a computer includes a non-volatile memory device, a peripheral bus, and a digital processing unit. The non-volatile memory device such as a solid state drive can store data persistently. The peripheral bus, which can be a peripheral component interconnect express (“PCIe”) bus, is used to support memory access to the non-volatile memory device. The digital processing unit such as a central processing unit (“CPU”) is capable of accessing storage space in the non-volatile memory device in accordance with an extended memory address and offset.
    Type: Grant
    Filed: July 11, 2014
    Date of Patent: October 10, 2017
    Assignee: CNEX Labs, Inc.
    Inventor: Yiren Ronnie Huang
  • Patent number: 9778982
    Abstract: Example implementations relate to storing memory erasure information in memory devices on a memory module. In example implementations, a memory location associated with an error in a first cache line may be identified. The first cache line may include data read from the memory location, and the memory location may be in a first memory device of a plurality of memory devices on a memory module. A device number corresponding to the first memory device may be written to one of the plurality of memory devices. When the memory location is read for a second cache line, the device number corresponding to the first memory device may be retrieved. The second cache line may include the retrieved device number and data read from the memory location.
    Type: Grant
    Filed: December 9, 2013
    Date of Patent: October 3, 2017
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Lidia Warnes, Erin A Handgen, Andrew C. Walton
  • Patent number: 9760479
    Abstract: Writing data in a storage system that includes a first type of storage device and a second type of storage device, including: selecting, for one or more unprocessed write requests, a target storage device type from the first type of storage device and the second type of storage device; issuing a first group of write requests to the first type of storage device, the first group of write requests addressed to one or more locations selected in dependence upon an expected address translation to be performed by the first type of storage device; and issuing a second group of write requests to the second type of storage device, the second group of write requests addressed to one or more locations selected in dependence upon a layout of memory in the second type of storage device.
    Type: Grant
    Filed: December 2, 2015
    Date of Patent: September 12, 2017
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Peter Kirkpatrick, Neil Vachharajani
  • Patent number: 9760497
    Abstract: In one embodiment, a storage system comprises: a first type interface being operable to communicate with a server using a remote memory access; a second type interface being operable to communicate with the server using a block I/O (Input/Output) access; a memory; and a controller being operable to manage (1) a first portion of storage areas of the memory to allocate for storing data, which is to be stored in a physical address space managed by an operating system on the server and which is sent from the server via the first type interface, and (2) a second portion of the storage areas of the memory to allocate for caching data, which is sent from the server to a logical volume of the storage system via the second type interface and which is to be stored in a storage device of the storage system corresponding to the logical volume.
    Type: Grant
    Filed: February 23, 2016
    Date of Patent: September 12, 2017
    Assignee: HITACHI, LTD.
    Inventors: Akio Nakajima, Akira Deguchi
  • Patent number: 9747287
    Abstract: Disclosed is an improved approach for managing updates to metadata for a virtualization environment. According to some embodiments, a compare and swap approach is taken to manage updates and to handle possible inconsistencies.
    Type: Grant
    Filed: August 1, 2012
    Date of Patent: August 29, 2017
    Assignee: Nutanix, Inc.
    Inventors: Rishi Bhardwaj, Venkata Ranga Radhanikanth Guturi, Mohit Aron
  • Patent number: 9743424
    Abstract: A user equipment (UE) receives downlink data using resource blocks in a wireless mobile communication system. The UE includes data processing circuitry coupled to a receiver that receives downlink control information including resource allocation information for the downlink data from a base station and to receive the downlink data mapped to physical resource blocks (PRBs) based on the downlink control information. The resource allocation information indicates virtual resource block (VRB) allocations for the user equipment. Each resource block corresponds to one time slot. A resource block pair includes a first resource block associated with a first time slot and a second resource block associated with a second time slot adjacent to the first time slot. The first and second resource blocks are allocated to the same frequency indices.
    Type: Grant
    Filed: October 14, 2016
    Date of Patent: August 22, 2017
    Assignee: Optis Cellular Technology, LLC
    Inventors: Dong Youn Seo, Eun Sun Kim, Bong Hoe Kim, Joon Kui Ahn
  • Patent number: 9727484
    Abstract: A computer-implemented method for protecting a translation lookaside buffer (TLB) from TLB pollution includes receiving, via a processor, a virtual address for a data portion, determining, via the processor, whether the virtual address has a classification of memory cache transiency, creating, via the processor, a TLB entry in a first TLB, wherein the TLB entry omits a most recently used (MRU) classification, and installing the TLB entry in a next available LRU position.
    Type: Grant
    Filed: January 29, 2016
    Date of Patent: August 8, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jonathan D. Bradbury, Michael Karl Gschwind, Christian Jacobi, Anthony Saporito, Chung-Lung Kevin Shum, Timothy J. Slegel
  • Patent number: 9715424
    Abstract: A memory device is disclosed that includes a row of storage locations that form plural columns. The plural columns include data columns to store data and a tag column to store tag information associated with error locations in the data columns. Each data column is associated with an error correction location including an error code bit location. Logic retrieves and stores the tag information associated with the row in response to activation of the row. A bit error in an accessed data column is repaired by a spare bit location based on the tag information.
    Type: Grant
    Filed: August 13, 2014
    Date of Patent: July 25, 2017
    Assignee: Rambus Inc.
    Inventors: Frederick A. Ware, Brent Haukness