Patents by Inventor Steven D. Millman

Steven D. Millman 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: 9904804
    Abstract: A data processing system includes a module for generating and distributing random masks to a number of cryptographic accelerators while providing for fewer total interconnects among the components generating the random masks. The module segments the tasks associated with generating random masks across a number of modules and blocks such that routing and timing problems can be minimized and layout can be optimized. A method for generating and distributing random masks to a number of cryptographic accelerators is also provided. The random masks are utilized by cryptographic accelerators to protect secret keys, and data associated with those keys, from discovery by unauthorized users.
    Type: Grant
    Filed: July 17, 2015
    Date of Patent: February 27, 2018
    Assignee: NXP USA, INC.
    Inventors: Srdjan Coric, Steven D. Millman
  • Patent number: 9632977
    Abstract: A data processor includes a packet selector. The packet selector creates an ordered list of packets, each packet corresponding to a respective communication flow, determines whether each packet in the ordered list of packets is eligible for transfer to a prefetch unit based on whether a preceding packet in the same communication flow has been transferred to the prefetch unit, and sets a selection priority for each packet based on start time constraints for the respective communication flow, and based on a processing status of a preceding packet in the communication flow.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: April 25, 2017
    Assignee: NXP USA, Inc.
    Inventors: Timothy G. Boland, Anne C. Harris, Steven D. Millman
  • Patent number: 9286118
    Abstract: A method of processing a job is presented. A packet selector determines a candidate job list including an ordered listing of candidate jobs. Each candidate job in the ordered listing belongs to a communication stream. One or more shared resources required for execution of a first job in the candidate job list are identified. Whether the first job is eligible for execution is determined by determining an availability of the one or more shared resources required for the first job, and, when the one or more shared resource required for the first job are unavailable and no jobs executing within the data processor are from the same communication stream as the first job, determining that the first job is not eligible for execution.
    Type: Grant
    Filed: June 15, 2012
    Date of Patent: March 15, 2016
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Timothy G. Boland, Anne C. Harris, Steven D. Millman
  • Publication number: 20150324611
    Abstract: A data processing system includes a module for generating and distributing random masks to a number of cryptographic accelerators while providing for fewer total interconnects among the components generating the random masks. The module segments the tasks associated with generating random masks across a number of modules and blocks such that routing and timing problems can be minimized and layout can be optimized. A method for generating and distributing random masks to a number of cryptographic accelerators is also provided. The random masks are utilized by cryptographic accelerators to protect secret keys, and data associated with those keys, from discovery by unauthorized users.
    Type: Application
    Filed: July 17, 2015
    Publication date: November 12, 2015
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventors: SRDJAN CORIC, STEVEN D. MILLMAN
  • Patent number: 9158499
    Abstract: Embodiments of an electronic circuit comprise a module, such as a security module, configured to perform cryptographic processing for a predetermined security protocol that includes random number checking. The security module is controlled by a descriptor that includes instructions that cause the security module to access a generated random number, compare the generated random number to a random number stored during a previous execution of the descriptor, and generate an error signal when the generated random number and the previous execution random number are equal.
    Type: Grant
    Filed: April 30, 2012
    Date of Patent: October 13, 2015
    Assignee: FREESCALE SEMICONDUCTOR, INC
    Inventors: Michael J. Torla, Steven D. Millman, Thomas E. Tkacik, Frank James
  • Patent number: 9118441
    Abstract: A data processing system includes a module for generating and distributing random masks to a number of cryptographic accelerators while providing for fewer total interconnects among the components generating the random masks. The module segments the tasks associated with generating random masks across a number of modules and blocks such that routing and timing problems can be minimized and layout can be optimized. A method for generating and distributing random masks to a number of cryptographic accelerators is also provided. The random masks are utilized by cryptographic accelerators to protect secret keys, and data associated with those keys, from discovery by unauthorized users.
    Type: Grant
    Filed: January 25, 2013
    Date of Patent: August 25, 2015
    Assignee: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Srdjan Coric, Steven D. Millman
  • Patent number: 9104478
    Abstract: A method of processing a job is presented. A packet selector determines a candidate job list including an ordered listing of candidate jobs. Each candidate job in the ordered listing belongs to a communication stream. Jobs in the candidate job list that are eligible for execution are identified by determining whether a preceding job belonging to the same communication stream as the candidate job is present in the candidate job list, and, for each candidate job in the candidate job list, determining whether a preceding job belonging to the same communication stream as the candidate job is being prepared for execution. The packet selector determines a priority for each eligible candidate job in the candidate job list by at least comparing the communication stream of each candidate job to a communication stream of a first job executing within the data processor.
    Type: Grant
    Filed: June 15, 2012
    Date of Patent: August 11, 2015
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Timothy G. Boland, Anne C. Harris, Steven D. Millman
  • Patent number: 9092283
    Abstract: Methods and systems for producing random numbers include a random number generator with a first port and a second port. The first port is configured to receive a first type of random data request, and the random number generator is configured to generate first random data while the first type of request is asserted on the first port. The second port is configured to receive a second type of random data request, and the random number generator is configured to generate only a specified length of second random data in response to receiving the second type of request on the second port. An embodiment of a system also includes a data structure configured to store multiple random values, which are derived from the first random data generated by the random number generator in response to the first type of random data request.
    Type: Grant
    Filed: March 30, 2012
    Date of Patent: July 28, 2015
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Thomas E. Tkacik, David G. Abdoo, Matthew W. Brocker, Steven D. Millman
  • Patent number: 8938072
    Abstract: A data processing system includes a cryptographic processing module providing for cryptographic key generation. A method entails computing derived keys one time, during a first execution of a key generation process, such that they may subsequently be utilized for processing large quantities of data without being re-computed. The derived keys provide for the efficient cryptographic processing of data, including data frames.
    Type: Grant
    Filed: January 25, 2013
    Date of Patent: January 20, 2015
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Srdjan Coric, Steven D. Millman
  • Patent number: 8910179
    Abstract: Embodiments include systems and methods that implement semaphore-based protection of various system resources. In an embodiment, a job scheduling module receives a job execution request from a requesting module (e.g., a CPU or other autonomous module). In response to receiving the job execution request, the job scheduling module identifies a descriptor, where the descriptor includes code configured to access a semaphore-protected resource. The job scheduling module causes a descriptor controller module to execute the descriptor. More specifically, execution of the descriptor includes the descriptor controller module performing a semaphore-based access of the protected resource. The job scheduling module also may coordinate sharing the descriptor among multiple descriptor controller modules (e.g., allowing parallel execution of portions of the descriptor).
    Type: Grant
    Filed: May 15, 2012
    Date of Patent: December 9, 2014
    Assignee: Freescale Semiconductor, Inc.
    Inventor: Steven D. Millman
  • Patent number: 8856198
    Abstract: Embodiments of methods and systems for producing random values include a first module that provides a random data request (e.g., a request for an unspecified length of random data) to a random number generator. The random number generator generates random data in response to the random data request, and multiple random values derived from the random data are stored in a buffer. In response to receiving a request for a random value (e.g., an initialization vector), the first module produces the random value based on the multiple random values stored in the buffer. The system also may be configured to receive requests for other types of random values, and to fulfill those requests using random data that is not buffered (e.g., random data that is received directly from the random number generator in response to a request for a specified length of random data).
    Type: Grant
    Filed: March 30, 2012
    Date of Patent: October 7, 2014
    Assignee: Freescale Semiconductor, Inc.
    Inventors: David G. Abdoo, Matthew W. Brocker, Steven D. Millman, Thomas E. Tkacik
  • Publication number: 20140281390
    Abstract: A data processor includes a packet selector. The packet selector creates an ordered list of packets, each packet corresponding to a respective communication flow, determines whether each packet in the ordered list of packets is eligible for transfer to a prefetch unit based on whether a preceding packet in the same communication flow has been transferred to the prefetch unit, and sets a selection priority for each packet based on start time constraints for the respective communication flow, and based on a processing status of a preceding packet in the communication flow.
    Type: Application
    Filed: March 13, 2013
    Publication date: September 18, 2014
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Timothy G. Boland, Anne C. Harris, Steven D. Millman
  • Patent number: 8826391
    Abstract: Embodiments of information processing systems and associated components can include logic operable to perform operations in a virtualized system including a plurality of guest operating systems using descriptors. The descriptors specify a set of commands defining the operations in a plurality of security domains and specify permission to a plurality of resources selectively for the plurality of guest operating systems.
    Type: Grant
    Filed: July 2, 2012
    Date of Patent: September 2, 2014
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Thomas E. Tkacik, Carlin R. Covey, David H. Hartley, Steven D. Millman
  • Publication number: 20140211937
    Abstract: A data processing system includes a module for generating and distributing random masks to a number of cryptographic accelerators while providing for fewer total interconnects among the components generating the random masks. The module segments the tasks associated with generating random masks across a number of modules and blocks such that routing and timing problems can be minimized and layout can be optimized. A method for generating and distributing random masks to a number of cryptographic accelerators is also provided. The random masks are utilized by cryptographic accelerators to protect secret keys, and data associated with those keys, from discovery by unauthorized users.
    Type: Application
    Filed: January 25, 2013
    Publication date: July 31, 2014
    Inventors: Srdjan Coric, Steven D. Millman
  • Publication number: 20140211942
    Abstract: A data processing system includes a cryptographic processing module providing for cryptographic key generation. A method entails computing derived keys one time, during a first execution of a key generation process, such that they may subsequently be utilized for processing large quantities of data without being re-computed. The derived keys provide for the efficient cryptographic processing of data, including data frames.
    Type: Application
    Filed: January 25, 2013
    Publication date: July 31, 2014
    Inventors: Srdjan Coric, Steven D. Millman
  • Publication number: 20140006804
    Abstract: Embodiments of information processing systems and associated components can include logic operable to perform operations in a virtualized system including a plurality of guest operating systems using descriptors. The descriptors specify a set of commands defining the operations in a plurality of security domains and specify permission to a plurality of resources selectively for the plurality of guest operating systems.
    Type: Application
    Filed: July 2, 2012
    Publication date: January 2, 2014
    Inventors: Thomas E. Tkacik, Carlin R. Covey, David H. Hartley, Steven D. Millman
  • Publication number: 20130339968
    Abstract: A method of processing a job is presented. A packet selector determines a candidate job list including an ordered listing of candidate jobs. Each candidate job in the ordered listing belongs to a communication stream. Jobs in the candidate job list that are eligible for execution are identified by determining whether a preceding job belonging to the same communication stream as the candidate job is present in the candidate job list, and, for each candidate job in the candidate job list, determining whether a preceding job belonging to the same communication stream as the candidate job is being prepared for execution. The packet selector determines a priority for each eligible candidate job in the candidate job list by at least comparing the communication stream of each candidate job to a communication stream of a first job executing within the data processor.
    Type: Application
    Filed: June 15, 2012
    Publication date: December 19, 2013
    Inventors: Timothy G. Boland, Anne C. Harris, Steven D. Millman
  • Publication number: 20130339971
    Abstract: A method of processing a job is presented. A packet selector determines a candidate job list including an ordered listing of candidate jobs. Each candidate job in the ordered listing belongs to a communication stream. One or more shared resources required for execution of a first job in the candidate job list are identified. Whether the first job is eligible for execution is determined by determining an availability of the one or more shared resources required for the first job, and, when the one or more shared resource required for the first job are unavailable and no jobs executing within the data processor are from the same communication stream as the first job, determining that the first job is not eligible for execution.
    Type: Application
    Filed: June 15, 2012
    Publication date: December 19, 2013
    Inventors: Timothy G. Boland, Anne C. Harris, Steven D. Millman
  • Publication number: 20130312007
    Abstract: Embodiments include systems and methods that implement semaphore-based protection of various system resources. In an embodiment, a job scheduling module receives a job execution request from a requesting module (e.g., a CPU or other autonomous module). In response to receiving the job execution request, the job scheduling module identifies a descriptor, where the descriptor includes code configured to access a semaphore-protected resource. The job scheduling module causes a descriptor controller module to execute the descriptor. More specifically, execution of the descriptor includes the descriptor controller module performing a semaphore-based access of the protected resource. The job scheduling module also may coordinate sharing the descriptor among multiple descriptor controller modules (e.g., allowing parallel execution of portions of the descriptor).
    Type: Application
    Filed: May 15, 2012
    Publication date: November 21, 2013
    Inventor: STEVEN D. MILLMAN
  • Publication number: 20130290792
    Abstract: Embodiments of an electronic circuit comprise a module, such as a security module, configured to perform cryptographic processing for a predetermined security protocol that includes random number checking. The security module is controlled by a descriptor that includes instructions that cause the security module to access a generated random number, compare the generated random number to a random number stored during a previous execution of the descriptor, and generate an error signal when the generated random number and the previous execution random number are equal.
    Type: Application
    Filed: April 30, 2012
    Publication date: October 31, 2013
    Inventors: Michael J. Torla, Steven D. Millman, Thomas E. Tkacik, Frank James