P
US10192062B2ActiveUtilityPatentIndex 62

Encryption for XIP and MMIO external memories

Assignee: CYPRESS SEMICONDUCTOR CORPPriority: Jun 20, 2014Filed: Dec 21, 2017Granted: Jan 29, 2019
Est. expiryJun 20, 2034(~8 yrs left)· nominal 20-yr term from priority
Inventors:VAN ANTWERPEN HANSVAN DE WAERDT JAN-WILLEM
G06F 3/0683G06F 21/602G06F 2213/0016G06F 3/0647G06F 3/0623G06F 13/1605G06F 13/404G06F 13/4282G06F 3/0661G06F 3/0658G06F 21/79
62
PatentIndex Score
1
Cited by
75
References
20
Claims

Abstract

Techniques for multiplexing between an execute-in-place (XIP) mode and a memory-mapped input/output (MMIO) mode for access to external memory devices are described herein. In an example embodiment, an IC device comprises a serial interface and a controller that is configured to communicate with external memory devices over the serial interface. The controller comprises a control register and a cryptography block. The control register is configured to indicate an XIP mode or a MMIO mode. The cryptography block is configured to encrypt and decrypt XIP data transfers to and from a first external memory device in the XIP mode, and to encrypt and decrypt MMIO data transfers to and from a second external memory device in the MMIO mode.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. An integrated circuit (IC) device, comprising:
 a serial interface; and 
 a controller coupled to the serial interface and configured to communicate with external memory devices over the serial interface, wherein the controller comprises:
 a control register configured to indicate an execute-in-place (XIP) mode or a memory-mapped input/output (MMIO) mode; and 
 a cryptography block configured to encrypt and decrypt XIP data transfers to and from a first external memory device in the XIP mode, and to encrypt and decrypt MMIO data transfers to and from a second external memory device in the MMIO mode. 
 
 
     
     
       2. The IC device of  claim 1 , wherein the controller is configured with a XIP address space and a MMIO address space, and wherein:
 the XIP address space includes addresses that are mapped directly to first external memory locations; and 
 the MMIO address space includes addresses that are mapped to MMIO registers, wherein the MMIO registers are mapped to second external memory locations. 
 
     
     
       3. The IC device of  claim 1 , further comprising an interconnect bus, wherein the controller further comprises:
 a fast XIP interface and a slow XIP interface that are coupled to the interconnect bus; and 
 a port arbitration block configured to priority arbitrate the XIP data transfers between the fast XIP interface and the slow XIP interface. 
 
     
     
       4. The IC device of  claim 1  wherein, in both the XIP mode and the MMIO mode, data blocks are transferred to and stored in the first and second external memory devices in encrypted form. 
     
     
       5. The IC device of  claim 1 , wherein the cryptography block is configured:
 in the XIP mode, to encrypt with a key an address for a XIP data transfer to obtain an encrypted address, and to encrypt or decrypt a data block of the XIP data transfer based on the encrypted address; and 
 in the MMIO mode, to encrypt or decrypt a data block of a MMIO data transfer. 
 
     
     
       6. The IC device of  claim 5 , wherein the controller further comprises an MMIO block that includes MMIO registers, and wherein:
 in the XIP mode, the MMIO registers are configured to store the address for the XIP data transfer; and 
 in the MMIO mode, the MMIO registers are configured to store the data block of the MMIO data transfer. 
 
     
     
       7. The IC device of  claim 1 , wherein the controller further comprises an XIP block configured to automatically translate the XIP data transfers to serial data transfers on the serial interface, in the XIP mode. 
     
     
       8. The IC device of  claim 1 , wherein the controller further comprises:
 first-in-first-out (FIFO) queues coupled to the serial interface; and 
 a MMIO block coupled to the FIFO queues and configured to use the FIFO queues to construct serial interface transfers for the MMIO data transfers, in the MMIO mode. 
 
     
     
       9. The IC device of  claim 1 , wherein the controller is further configured to perform an initialization operation that programs the control register to a first value that indicates the XIP mode or to a second value that indicates the MMIO mode. 
     
     
       10. The IC device of  claim 1 , wherein the controller further comprises a mode multiplexer block configured to provide access to the serial interface at any one time either in the XIP mode or in the MMIO mode, based on the control register. 
     
     
       11. The IC device of  claim 1 , wherein the controller further comprises first-in-first-out (FIFO) queues that are shared between the XIP mode and the MMIO mode. 
     
     
       12. A system comprising:
 a plurality of memory devices comprising a first memory device and a second memory device; and 
 a microcontroller external to the plurality of memory devices, the microcontroller comprising:
 a serial interface, the serial interface coupled to the microcontroller and to the plurality of memory devices; 
 an interconnect bus; and 
 an external memory controller, the external memory controller coupled between the serial interface and the interconnect bus, wherein the external memory controller comprises:
 a control register configured to indicate an execute-in-place (XIP) mode or a memory-mapped input/output (MMIO) mode; and 
 a cryptography block configured to encrypt and decrypt XIP data transfers to and from the first memory device in the XIP mode, and to encrypt and decrypt MMIO data transfers to and from the second memory device in the MMIO mode. 
 
 
 
     
     
       13. The system of  claim 12 , wherein the external memory controller is configured with a XIP address space and a MMIO address space, and wherein:
 the XIP address space includes addresses that are mapped directly to first external memory locations; and 
 the MMIO address space includes addresses that are mapped to MMIO registers, wherein the MMIO registers are mapped to second external memory locations. 
 
     
     
       14. The system of  claim 12 , wherein the external memory controller further comprises:
 a fast XIP interface and a slow XIP interface that are coupled to the interconnect bus; and 
 a port arbitration block configured to priority arbitrate the XIP data transfers between the fast XIP interface and the slow XIP interface. 
 
     
     
       15. The system of  claim 12  wherein, in both the XIP mode and the MMIO mode, data blocks are transferred to and stored in the first and second memory devices in encrypted form. 
     
     
       16. The system of  claim 12 , wherein the cryptography block is configured:
 in the XIP mode, to encrypt with a key an address for a XIP data transfer to obtain an encrypted address, and to encrypt or decrypt a data block of the XIP data transfer based on the encrypted address; and 
 in the MMIO mode, to encrypt or decrypt a data block of a MMIO data transfer. 
 
     
     
       17. The system of  claim 12 , wherein the external memory controller further comprises:
 an XIP block configured to automatically translate the XIP data transfers to serial data transfers on the serial interface, in the XIP mode; 
 first-in-first-out (FIFO) queues coupled to the serial interface; and 
 a MMIO block coupled to the FIFO queues and configured to use the FIFO queues to construct serial interface transfers for the MMIO data transfers, in the MMIO mode. 
 
     
     
       18. The system of  claim 12 , wherein the external memory controller is further configured to perform an initialization operation that programs the control register to a first value that indicates the XIP mode or to a second value that indicates the MMIO mode. 
     
     
       19. The system of  claim 12 , wherein the external memory controller further comprises a mode multiplexer block configured to provide access to the serial interface at any one time either in the XIP mode or in the MMIO mode, based on the control register. 
     
     
       20. The system of  claim 12 , wherein the external memory controller further comprises first-in-first-out (FIFO) queues that are shared between the XIP mode and the MMIO mode.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.