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: 9904804Abstract: 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: GrantFiled: July 17, 2015Date of Patent: February 27, 2018Assignee: NXP USA, INC.Inventors: Srdjan Coric, Steven D. Millman
-
Patent number: 9632977Abstract: 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: GrantFiled: March 13, 2013Date of Patent: April 25, 2017Assignee: NXP USA, Inc.Inventors: Timothy G. Boland, Anne C. Harris, Steven D. Millman
-
Patent number: 9286118Abstract: 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: GrantFiled: June 15, 2012Date of Patent: March 15, 2016Assignee: Freescale Semiconductor, Inc.Inventors: Timothy G. Boland, Anne C. Harris, Steven D. Millman
-
Publication number: 20150324611Abstract: 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: ApplicationFiled: July 17, 2015Publication date: November 12, 2015Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: SRDJAN CORIC, STEVEN D. MILLMAN
-
Patent number: 9158499Abstract: 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: GrantFiled: April 30, 2012Date of Patent: October 13, 2015Assignee: FREESCALE SEMICONDUCTOR, INCInventors: Michael J. Torla, Steven D. Millman, Thomas E. Tkacik, Frank James
-
Patent number: 9118441Abstract: 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: GrantFiled: January 25, 2013Date of Patent: August 25, 2015Assignee: FREESCALE SEMICONDUCTOR, INC.Inventors: Srdjan Coric, Steven D. Millman
-
Patent number: 9104478Abstract: 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: GrantFiled: June 15, 2012Date of Patent: August 11, 2015Assignee: Freescale Semiconductor, Inc.Inventors: Timothy G. Boland, Anne C. Harris, Steven D. Millman
-
Patent number: 9092283Abstract: 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: GrantFiled: March 30, 2012Date of Patent: July 28, 2015Assignee: Freescale Semiconductor, Inc.Inventors: Thomas E. Tkacik, David G. Abdoo, Matthew W. Brocker, Steven D. Millman
-
Patent number: 8938072Abstract: 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: GrantFiled: January 25, 2013Date of Patent: January 20, 2015Assignee: Freescale Semiconductor, Inc.Inventors: Srdjan Coric, Steven D. Millman
-
Patent number: 8910179Abstract: 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: GrantFiled: May 15, 2012Date of Patent: December 9, 2014Assignee: Freescale Semiconductor, Inc.Inventor: Steven D. Millman
-
Patent number: 8856198Abstract: 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: GrantFiled: March 30, 2012Date of Patent: October 7, 2014Assignee: Freescale Semiconductor, Inc.Inventors: David G. Abdoo, Matthew W. Brocker, Steven D. Millman, Thomas E. Tkacik
-
Publication number: 20140281390Abstract: 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: ApplicationFiled: March 13, 2013Publication date: September 18, 2014Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Timothy G. Boland, Anne C. Harris, Steven D. Millman
-
Patent number: 8826391Abstract: 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: GrantFiled: July 2, 2012Date of Patent: September 2, 2014Assignee: Freescale Semiconductor, Inc.Inventors: Thomas E. Tkacik, Carlin R. Covey, David H. Hartley, Steven D. Millman
-
Publication number: 20140211937Abstract: 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: ApplicationFiled: January 25, 2013Publication date: July 31, 2014Inventors: Srdjan Coric, Steven D. Millman
-
Publication number: 20140211942Abstract: 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: ApplicationFiled: January 25, 2013Publication date: July 31, 2014Inventors: Srdjan Coric, Steven D. Millman
-
Publication number: 20140006804Abstract: 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: ApplicationFiled: July 2, 2012Publication date: January 2, 2014Inventors: Thomas E. Tkacik, Carlin R. Covey, David H. Hartley, Steven D. Millman
-
Publication number: 20130339968Abstract: 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: ApplicationFiled: June 15, 2012Publication date: December 19, 2013Inventors: Timothy G. Boland, Anne C. Harris, Steven D. Millman
-
Publication number: 20130339971Abstract: 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: ApplicationFiled: June 15, 2012Publication date: December 19, 2013Inventors: Timothy G. Boland, Anne C. Harris, Steven D. Millman
-
Publication number: 20130312007Abstract: 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: ApplicationFiled: May 15, 2012Publication date: November 21, 2013Inventor: STEVEN D. MILLMAN
-
Publication number: 20130290792Abstract: 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: ApplicationFiled: April 30, 2012Publication date: October 31, 2013Inventors: Michael J. Torla, Steven D. Millman, Thomas E. Tkacik, Frank James