Patents by Inventor Koichi Yamada

Koichi Yamada has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9665374
    Abstract: A method is described. The method includes receiving an instruction, accessing a return cache to load a predicted return target address upon determining that the instruction is a return instruction, searching a lookup table for executable binary code upon determining that the predicted translated return target address is incorrect and executing the executable binary code to perform a binary translation.
    Type: Grant
    Filed: December 18, 2014
    Date of Patent: May 30, 2017
    Assignee: Intel Corporation
    Inventors: Koichi Yamada, Ashish Bijlani, Jiwei Lu, Cheng Yan Zhao
  • Patent number: 9656819
    Abstract: A sheet conveying apparatus includes a conveying member conveying and rotating a sheet, a moving member configured to be movable between a first guiding position and a second guiding position, a first abutting portion configured to stop the moving member at the first guiding position, a second abutting portion configured to stop the moving member at the second guiding position, and a planetary gear mechanism.
    Type: Grant
    Filed: February 12, 2016
    Date of Patent: May 23, 2017
    Assignee: Canon Kabushiki Kaisha
    Inventor: Koichi Yamada
  • Publication number: 20170116418
    Abstract: A combination of hardware monitoring and binary translation software allow detection of return-oriented programming (ROP) exploits with low overhead and low false positive rates. Embodiments may use various forms of hardware to detect ROP exploits and indicate the presence of an anomaly to a device driver, which may collect data and pass the indication of the anomaly to the binary translation software to instrument the application code and determine whether an ROP exploit has been detected. Upon detection of the ROP exploit, the binary translation software may indicate the ROP exploit to an anti-malware software, which may take further remedial action as desired.
    Type: Application
    Filed: October 26, 2015
    Publication date: April 27, 2017
    Inventors: Palanivelrajan Rajan Shanmugavelayutham, Koichi Yamada, Vadim Sukhomlinov, Igor Muttik, Oleksandr Bazhaniuk, Yuriy Bulygin, Dmitri Rubakha, Jennifer Eligius Mankin, Carl D. Woodward, Sevin F. Varoglu, Dima Mirkin, Alex Nayshtut
  • Publication number: 20170090927
    Abstract: Embodiments of an invention for control transfer instructions indicating intent to call or return are disclosed. In one embodiment, a processor includes a return target predictor, instruction hardware, and execution hardware. The instruction hardware is to receive a first instruction, a second instruction, and a third instruction, and the execution hardware to execute the first instruction, the second instruction, and the third instruction. Execution of the first instruction is to store a first return address on a stack and to transfer control to a first target address. Execution of the second instruction is to store a second return address in the return target predictor and transfer control to a second target address. Execution of the third instruction is to transfer control to the second target address.
    Type: Application
    Filed: September 30, 2015
    Publication date: March 30, 2017
    Inventors: Paul Caprioli, KOICHI YAMADA, TUGRUL INCE
  • Patent number: 9569613
    Abstract: Various embodiments are generally directed to an apparatus, method and other techniques to determine a valid target address for a branch instruction from information stored in a relocation table, a linkage table, or both, the relocation table and the linkage table associated with a binary file and store the valid target address in a table in memory, the valid target address to validate a target address for a translated portion of a routine of the binary file.
    Type: Grant
    Filed: December 23, 2014
    Date of Patent: February 14, 2017
    Assignee: INTEL CORPORATION
    Inventors: Koichi Yamada, Palanivelrajan Shanmugavelayutham, Sravani Konda
  • Patent number: 9542191
    Abstract: A hardware profiling mechanism implemented by performance monitoring hardware enables page level automatic binary translation. The hardware during runtime identifies a code page in memory containing potentially optimizable instructions. The hardware requests allocation of a new page in memory associated with the code page, where the new page contains a collection of counters and each of the counters corresponds to one of the instructions in the code page. When the hardware detects a branch instruction having a branch target within the code page, it increments one of the counters that has the same position in the new page as the branch target in the code page. The execution of the code page is repeated and the counters are incremented when branch targets fall within the code page. The hardware then provides the counter values in the new page to a binary translator for binary translation.
    Type: Grant
    Filed: March 30, 2012
    Date of Patent: January 10, 2017
    Assignee: Intel Corporation
    Inventors: Paul Caprioli, Matthew C. Merten, Muawya M. Al-Otoom, Omar M. Shaikh, Abhay S. Kanhere, Suresh Srinivas, Koichi Yamada, Vivek Thakkar, Pawel Osciak
  • Publication number: 20160378498
    Abstract: Systems, methods, and apparatuses for last branch record support are described. In an embodiment, a hardware processor core comprises a hardware execution unit to execute a branch instruction, at least two last branch record (LBR) registers to store a source and destination information of a branch taken during program execution, wherein an entry in a LBR register to include an encoding of the branch, a write bit array to indicate which LBR register is architecturally correct, an architectural bit array to indicate when an LBR register has been written, and a plurality of top of stack pointers to indicate which LBR register in a LBR register stack is to be written.
    Type: Application
    Filed: June 27, 2015
    Publication date: December 29, 2016
    Inventors: Paul Caprioli, Koichi Yamada, Jason M. Agron, Jiwei Lu
  • Publication number: 20160381043
    Abstract: Particular embodiments described herein provide for an electronic device that can be configured to monitor code as it executes. The code can include self-modifying code. The system can log an event if the self-modifying code occurred in a GetPC address region.
    Type: Application
    Filed: September 26, 2015
    Publication date: December 29, 2016
    Applicant: McAfee, Inc.
    Inventors: Koichi Yamada, Palanivel Rajan Shanmugavelayutham, Greg W. Dalcher, Sravani Konda
  • Publication number: 20160378446
    Abstract: The present disclosure is directed to a system for binary translation version protection. Activity occurring in a device that may potentially cause native code to be altered may cause the device to prevent binary translations corresponding to the native code from being executed until a determination is made as to whether the binary translation needs to be regenerated. The native code may be stored in a memory page having an access permission that does not permit writes. Attempts to alter the native code would require the access permission of the memory page to be set to writable, which may cause a binary translation (BT) module to be notified of the potential change. The BT module may mark any binary translations corresponding to the native code as stale, and may cause a page permission control module to update memory pages including the binary translations to have an access permission of non-executable.
    Type: Application
    Filed: June 26, 2015
    Publication date: December 29, 2016
    Applicant: INTEL CORPORATION
    Inventors: TUGRUL INCE, KOICHI YAMADA
  • Publication number: 20160357528
    Abstract: A micro-architecture may provide a hardware and software co-designed dynamic binary translation. The micro-architecture may invoke a method to perform a dynamic binary translation. The method may comprise executing original software code compiled targeting a first instruction set, using processor hardware to detect a hot spot in the software code and passing control to a binary translation translator, determining a hot spot region for translation, generating the translated code using a second instruction set, placing the translated code in a translation cache, executing the translated code from the translated cache, and transitioning back to the original software code after the translated code finishes execution.
    Type: Application
    Filed: August 15, 2016
    Publication date: December 8, 2016
    Applicant: lntel Corporation
    Inventors: Abhay S. Kanhere, Paul Caprioli, Koichi Yamada, Suriya Madras-Subramanian, Srinivas Suresh
  • Publication number: 20160325956
    Abstract: A sheet skew feed correcting apparatus is provided which includes: a driving rotation member that is driven to rotate; a first driven rotation member that is pressure contacted against the driving rotation member; a first holder rotatably holding the first driven rotation member; a second driven rotation member that is pressure contacted against the driving rotation member; a second holder rotatably holding the second driven rotation member; and a shutter portion with which a leading end of a sheet comes into contact for skew feed correction, the shutter portion moving pivotally with one end portion thereof supported by the first holder and another end portion thereof supported by the second holder; wherein the shutter portion has abutting portions with which the leading end comes into contact, and a coupling portion extending so as to couple the abutting portions together between the first and the second driven rotation members.
    Type: Application
    Filed: July 20, 2016
    Publication date: November 10, 2016
    Inventor: Koichi Yamada
  • Patent number: 9477515
    Abstract: In one embodiment, the present invention includes a method for receiving control in a kernel mode via a ring transition from a user thread during execution of an unbounded transactional memory (UTM) transaction, updating a state of a transaction status register (TSR) associated with the user thread and storing the TSR with a context of the user thread, and later restoring the context during a transition from the kernel mode to the user thread. In this way, the UTM transaction may continue on resumption of the user thread. Other embodiments are described and claimed.
    Type: Grant
    Filed: August 1, 2013
    Date of Patent: October 25, 2016
    Assignee: Intel Corporation
    Inventors: Koichi Yamada, Landy Wang, Martin Taillefer, Arun Kishan, David Callahan, Jan Gray, Gad Sheaffer, Ali-Reza Adl-Tabatabai
  • Patent number: 9477453
    Abstract: Technologies for shadow stack management include a computing device that, when executing a translated call routine in a translated binary, pushes a native return address on to a native stack of the computing device, adds a constant offset to a stack pointer of the computing device, executes a native call instruction to a translated call target, and, after executing the native call instruction, subtracts the constant offset from the stack pointer. Executing the native call instruction pushes a translated return address onto a shadow stack of the computing device. The computing device may map two or more virtual memory pages of the shadow stack onto a single physical memory page. The computing device may execute a translated return routine that pops the native return address from the native stack, adds the constant offset to the stack pointer, and executes a native return instruction. Other embodiments are described and claimed.
    Type: Grant
    Filed: June 24, 2015
    Date of Patent: October 25, 2016
    Assignee: Intel Corporation
    Inventors: Tugrul Ince, Koichi Yamada, Paul Caprioli, Jiwei Lu
  • Patent number: 9428356
    Abstract: A sheet skew feed correcting apparatus is provided which includes: a driving rotation member that is driven to rotate; a first driven rotation member that is pressure contacted against the driving rotation member; a first holder rotatably holding the first driven rotation member; a second driven rotation member that is pressure contacted against the driving rotation member; a second holder rotatably holding the second driven rotation member; and a shutter portion with which a leading end of a sheet comes into contact for skew feed correction, the shutter portion moving pivotally with one end portion thereof supported by the first holder and another end portion thereof supported by the second holder; wherein the shutter portion has abutting portions with which the leading end comes into contact, and a coupling portion extending so as to couple the abutting portions together between the first and the second driven rotation members.
    Type: Grant
    Filed: July 26, 2012
    Date of Patent: August 30, 2016
    Assignee: Canon Kabushiki Kaisha
    Inventor: Koichi Yamada
  • Patent number: 9417855
    Abstract: A micro-architecture may provide a hardware and software co-designed dynamic binary translation. The micro-architecture may invoke a method to perform a dynamic binary translation. The method may comprise executing original software code compiled targeting a first instruction set, using processor hardware to detect a hot spot in the software code and passing control to a binary translation translator, determining a hot spot region for translation, generating the translated code using a second instruction set, placing the translated code in a translation cache, executing the translated code from the translated cache, and transitioning back to the original software code after the translated code finishes execution.
    Type: Grant
    Filed: September 30, 2011
    Date of Patent: August 16, 2016
    Assignee: Intel Corporation
    Inventors: Abhay S. Kanhere, Paul Caprioli, Koichi Yamada, Suriya Madras-Subramanian, Suresh Srinivas
  • Publication number: 20160224348
    Abstract: Methods and apparatuses relate to emulating architectural performance monitoring in a binary translation system. In one embodiment, a processor includes an architectural performance counter to maintain an architectural value associated with instruction execution, a register to store the architectural value of the architectural performance counter, binary translation logic to embed an architectural value from the architectural performance counter into a stream of translated instructions having a transactional code region and to store the architectural value into the register, and an execution unit to execute the transactional code region of the stream of translated instructions. The binary translation logic is configured to add the architectural value from the register to the architectural performance counter upon completion of the transactional code region of the stream of translated instructions.
    Type: Application
    Filed: February 4, 2015
    Publication date: August 4, 2016
    Inventors: Jason M. AGRON, Polychronis XEKALAKIS, Paul CAPRIOLI, Jiwei Oliver LU, Koichi YAMADA
  • Patent number: 9405937
    Abstract: A processor and method are described for managing different privilege levels associated with different types of program code, including binary translation program code. For example, one embodiment of a method comprises entering into one of a plurality of privilege modes responsive to detecting the execution of a corresponding one of a plurality of different types of program code including native executable program code, translated executable program code, and binary translation program code. In one embodiment, the binary translation program code includes sub-components each of which are associated with a different privilege level for improved security.
    Type: Grant
    Filed: June 28, 2013
    Date of Patent: August 2, 2016
    Assignee: INTEL CORPORATION
    Inventors: Lior Malka, Koichi Yamada, Palanivelrajan Shanmugavelayutham, Barry E. Huntley, Scott D. Rodgers, James D. Beaney, Jr.
  • Patent number: 9405551
    Abstract: In an embodiment, a processor includes a binary translation (BT) container having code to generate a binary translation of a first code segment and to store the binary translation in a translation cache, a host entity logic to manage the BT container and to identify the first code segment, and protection logic to isolate the BT container from a software stack. In this way, the BT container is configured to be transparent to the software stack. Other embodiments are described and claimed.
    Type: Grant
    Filed: March 12, 2013
    Date of Patent: August 2, 2016
    Assignee: Intel Corporation
    Inventors: Koichi Yamada, Palanivel Rajan Shanmugavelayutham, Scott D. Rodgers, Barry E. Huntley, James D. Beaney, Jr., Boaz Tamir
  • Publication number: 20160216973
    Abstract: In one embodiment, the present invention includes a method for receiving control in a kernel mode via a ring transition from a user thread during execution of an unbounded transactional memory (UTM) transaction, updating a state of a transaction status register (TSR) associated with the user thread and storing the TSR with a context of the user thread, and later restoring the context during a transition from the kernel mode to the user thread. In this way, the UTM transaction may continue on resumption of the user thread. Other embodiments are described and claimed.
    Type: Application
    Filed: August 1, 2013
    Publication date: July 28, 2016
    Inventors: Koichi Yamada, GAD SHEAFFER, JAN GRAY, LANDY WANG, MARTIN TAILLEFER, ARUN KISHAN, ALI-REZA ADL-TABATABAI, DAVID CALLAHAN
  • Publication number: 20160188372
    Abstract: Technologies for partial binary translation on multi-core platforms include a shared translation cache, a binary translation thread scheduler, a global installation thread, and a local translation thread and analysis thread for each processor core. On detection of a hotspot, the thread scheduler first resumes the global thread if suspended, next activates the global thread if a translation cache operation is pending, and last schedules local translation or analysis threads for execution. Translation cache operations are centralized in the global thread and decoupled from analysis and translation. The thread scheduler may execute in a non-preemptive nucleus, and the translation and analysis threads may execute in a preemptive runtime. The global thread may be primarily preemptive with a small non-preemptive nucleus to commit updates to the shared translation cache. The global thread may migrate to any of the processor cores. Forward progress is guaranteed. Other embodiments are described and claimed.
    Type: Application
    Filed: June 28, 2013
    Publication date: June 30, 2016
    Inventors: Abhik SARKAR, Jiwei LU, Palanivelrajan Rajan SHANMUGAVELAYUTHAM, Jason M. AGRON, Koichi YAMADA