Patents by Inventor Ian Fullerton

Ian Fullerton 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: 10204057
    Abstract: In an embodiment, a method comprises: obtaining a virtual bus address; translating the virtual bus address to a physical address of a portion of NVM storing first data; determining that the first portion of NVM has been allocated previously; reading the first data from the first portion of NVM; determining whether writing second data to the first portion of the NVM would change one or more bits in the first data; responsive to the determining that a write operation only changes data bits in the first data from 1 to 0, writing the second data over the first data stored in the first portion of NVM; and responsive to the determining that one or more bits in the first data would be flipped from 0 to 1, reallocating the first portion of NVM to a second portion of NVM, copying the first data from the first portion of NVM to the second portion of NVM with the first data modified by the second data.
    Type: Grant
    Filed: October 14, 2016
    Date of Patent: February 12, 2019
    Assignee: Atmel Corporation
    Inventors: Frode Milch Pedersen, Sylvain Garnier, Ian Fullerton, Xavier Leprevost
  • Patent number: 10073661
    Abstract: The disclosed embodiments provide security extensions for memory (e.g., non-volatile memory) by means of address and data scrambling and differential data storage to minimize exposure to side channel attacks and obfuscate the stored data. The scrambling function maximizes reverse engineering costs when recovering sequences of secret keys.
    Type: Grant
    Filed: December 20, 2016
    Date of Patent: September 11, 2018
    Assignee: Atmel Corporation
    Inventors: Frode Milch Pedersen, Ian Fullerton, Joseph Martinez, Martin Olsson
  • Publication number: 20180046582
    Abstract: In an embodiment, a method comprises: obtaining a virtual bus address; translating the virtual bus address to a physical address of a portion of NVM storing first data; determining that the first portion of NVM has been allocated previously; reading the first data from the first portion of NVM; determining whether writing second data to the first portion of the NVM would change one or more bits in the first data; responsive to the determining that a write operation only changes data bits in the first data from 1 to 0, writing the second data over the first data stored in the first portion of NVM; and responsive to the determining that one or more bits in the first data would be flipped from 0 to 1, reallocating the first portion of NVM to a second portion of NVM, copying the first data from the first portion of NVM to the second portion of NVM with the first data modified by the second data.
    Type: Application
    Filed: October 14, 2016
    Publication date: February 15, 2018
    Applicant: Atmel Corporation
    Inventors: Frode Milch Pedersen, Sylvain Garnier, Ian Fullerton, Xavier Leprevost
  • Publication number: 20180024781
    Abstract: The disclosed embodiments provide security extensions for memory (e.g., non-volatile memory) by means of address and data scrambling and differential data storage to minimize exposure to side channel attacks and obfuscate the stored data. The scrambling function maximizes reverse engineering costs when recovering sequences of secret keys.
    Type: Application
    Filed: December 20, 2016
    Publication date: January 25, 2018
    Applicant: Atmel Corporation
    Inventors: Frode Milch Pedersen, Ian Fullerton, Joseph Martinez, Martin Olsson
  • Patent number: 9772970
    Abstract: Systems and methods for multi-protocol serial communication interfaces are described. One example system includes an interface module including a buffer for storing a protocol selection. The system includes a protocol module coupled to the interface module and configured for providing one or more serial communication protocols. Based on the protocol selection, one of the serial communication protocols is selected. The system also includes a serial engine module coupled to the interface module and the protocol module. The serial engine module is configured for transmitting and receiving data or commands based on the selected serial communication protocol.
    Type: Grant
    Filed: August 29, 2013
    Date of Patent: September 26, 2017
    Assignee: Atmel Corporation
    Inventors: Yong Luo, Ian Fullerton, Benjamin Francis Froemming, Morten Werner Lund
  • Patent number: 9710169
    Abstract: A latch signal is received from a non-volatile memory device that is indicative of a current access time for the non-volatile memory device. The access time represents an amount of time required for the non-volatile memory device to make data available responsive to a request for data. A bus system clock signal is received. The latch signal is evaluated and a wait state for the non-volatile memory device is adjusted based on the evaluation. The wait state represents a number of cycles of the bus system clock used by a central processing unit for an access of the non-volatile memory device. A bus system data ready signal that is triggered based on the adjusted wait state is produced. The bus system data ready signal, when triggered, indicates that data is available responsive to the request.
    Type: Grant
    Filed: July 29, 2016
    Date of Patent: July 18, 2017
    Assignee: Atmel Corporation
    Inventors: Frode Milch Pedersen, Sebastien Jouin, Ian Fullerton
  • Publication number: 20160335000
    Abstract: A latch signal is received from a non-volatile memory device that is indicative of a current access time for the non-volatile memory device. The access time represents an amount of time required for the non-volatile memory device to make data available responsive to a request for data. A bus system clock signal is received. The latch signal is evaluated and a wait state for the non-volatile memory device is adjusted based on the evaluation. The wait state represents a number of cycles of the bus system clock used by a central processing unit for an access of the non-volatile memory device. A bus system data ready signal that is triggered based on the adjusted wait state is produced. The bus system data ready signal, when triggered, indicates that data is available responsive to the request.
    Type: Application
    Filed: July 29, 2016
    Publication date: November 17, 2016
    Inventors: Frode Milch Pedersen, Sebastien Jouin, Ian Fullerton
  • Patent number: 9405720
    Abstract: A latch signal is received from a non-volatile memory device that is indicative of a current access time for the non-volatile memory device. The access time represents an amount of time required for the non-volatile memory device to make data available responsive to a request for data. A bus system clock signal is received. The latch signal is evaluated and a wait state for the non-volatile memory device is adjusted based on the evaluation. The wait state represents a number of cycles of the bus system clock used by a central processing unit for an access of the non-volatile memory device. A bus system data ready signal that is triggered based on the adjusted wait state is produced. The bus system data ready signal, when triggered, indicates that data is available responsive to the request.
    Type: Grant
    Filed: July 15, 2013
    Date of Patent: August 2, 2016
    Assignee: Atmel Corporation
    Inventors: Frode Milch Pedersen, Sebastien Jouin, Ian Fullerton
  • Patent number: 9054685
    Abstract: A circuit is disclosed that provides a programmable hold time for a bus signal without running a system clock and without a frequency requirement between the system clock and a bus clock.
    Type: Grant
    Filed: April 29, 2013
    Date of Patent: June 9, 2015
    Assignee: Atmel Corporation
    Inventors: Morten Lund, Ian Fullerton
  • Publication number: 20150067206
    Abstract: Systems and methods for multi-protocol serial communication interfaces are described. One example system includes an interface module including a buffer for storing a protocol selection. The system includes a protocol module coupled to the interface module and configured for providing one or more serial communication protocols. Based on the protocol selection, one of the serial communication protocols is selected. The system also includes a serial engine module coupled to the interface module and the protocol module. The serial engine module is configured for transmitting and receiving data or commands based on the selected serial communication protocol.
    Type: Application
    Filed: August 29, 2013
    Publication date: March 5, 2015
    Applicant: Atmel Corporation
    Inventors: Yong LUO, Ian FULLERTON, Benjamin Francis FROEMMING, Morten Werner LUND
  • Patent number: 8878569
    Abstract: A detector circuit is disclosed that detects bus signal conditions. To detect a START condition, asynchronous sequential logic detects a first bus signal transition (e.g., from high to low) and a second bus signal (e.g., a high signal). The outputs of the asynchronous sequential logic are combined to produce a START signal that can be latched, so that the START signal can be used to wake up a system or for other purposes. To detect a STOP condition, asynchronous sequential logic is set by a transition (e.g., low to high) of the first bus signal and a second bus signal (e.g., a high signal), producing a STOP signal that can be used to reset the asynchronous sequential logic and the latch.
    Type: Grant
    Filed: April 23, 2013
    Date of Patent: November 4, 2014
    Assignee: Atmel Corporation
    Inventor: Ian Fullerton
  • Publication number: 20140320189
    Abstract: A circuit is disclosed that provides a programmable hold time for a bus signal without running a system clock and without a frequency requirement between the system clock and a bus clock.
    Type: Application
    Filed: April 29, 2013
    Publication date: October 30, 2014
    Applicant: Atmel Corporation
    Inventors: Morten Lund, Ian Fullerton
  • Publication number: 20140312929
    Abstract: A detector circuit is disclosed that detects bus signal conditions. To detect a START condition, asynchronous sequential logic detects a first bus signal transition (e.g., from high to low) and a second bus signal (e.g., a high signal). The outputs of the asynchronous sequential logic are combined to produce a START signal that can be latched, so that the START signal can be used to wake up a system or for other purposes. To detect a STOP condition, asynchronous sequential logic is set by a transition (e.g., low to high) of the first bus signal and a second bus signal (e.g., a high signal), producing a STOP signal that can be used to reset the asynchronous sequential logic and the latch.
    Type: Application
    Filed: April 23, 2013
    Publication date: October 23, 2014
    Applicant: Atmel Corporation
    Inventor: Ian Fullerton
  • Publication number: 20140281156
    Abstract: A latch signal is received from a non-volatile memory device that is indicative of a current access time for the non-volatile memory device. The access time represents an amount of time required for the non-volatile memory device to make data available responsive to a request for data. A bus system clock signal is received. The latch signal is evaluated and a wait state for the non-volatile memory device is adjusted based on the evaluation. The wait state represents a number of cycles of the bus system clock used by a central processing unit for an access of the non-volatile memory device. A bus system data ready signal that is triggered based on the adjusted wait state is produced. The bus system data ready signal, when triggered, indicates that data is available responsive to the request.
    Type: Application
    Filed: July 15, 2013
    Publication date: September 18, 2014
    Inventors: Frode Milch Pedersen, Sebastien Jouin, Ian Fullerton