Patents by Inventor Kenneth L. Herman
Kenneth L. Herman 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: 9841917Abstract: Systems and methods are disclosed for configuring a non-volatile memory (“NVM”). In some embodiments, each block of the NVM can include a block table-of-contents (“TOC”), which can be encoded (e.g., run-length encoded) and dynamically-sized. Thus, as user data is being programmed to a block, the size of a block TOC can be concurrently recalculated and increased only if necessary. In some embodiments, the NVM interface can use a weave sequence stored in the context information and at least one weave sequence associated with each page of a block to determine whether to replay across the pages of the block after system boot-up.Type: GrantFiled: December 8, 2015Date of Patent: December 12, 2017Assignee: APPLE INC.Inventors: Vadim Khmelnitsky, Daniel J. Post, Nir Jacob Wakrat, Matthew J. Byom, Kenneth L. Herman, Alexander C. Sanks
-
Patent number: 9690953Abstract: Systems and methods are disclosed for generating efficient reads for a system having non-volatile memory (“NVM”). A read command can be separated by a host processor of the system into two phases: a) transmitting a command to a storage processor of the system, where the command is associated with one or more logical addresses, and b) generating data transfer information. The host processor can generate the data transfer information while the storage processor is processing the command from the host processor. Once the data transfer information has been generated and data has been read from the NVM, the data can be transferred.Type: GrantFiled: March 14, 2014Date of Patent: June 27, 2017Assignee: APPLE INC.Inventors: Andrew W. Vogan, Matthew J. Byom, Alexander C. Sanks, Daniel J. Post, Hari Hara Kumar Maharaj, Nir Jacob Wakrat, Kenneth L. Herman
-
Publication number: 20170102899Abstract: Systems and methods are disclosed for partitioning data for storage in a non-volatile memory (“NVM”), such as flash memory. In some embodiments, a priority may be assigned to data being stored, and the data may be logically partitioned based on the priority. For example, a file system may identify a logical address within a first predetermined range for higher priority data and within a second predetermined range for lower priority data, such using a union file system. Using the logical address, a NVM driver can determine the priority of data being stored and can process (e.g., encode) the data based on the priority. The NVM driver can store an identifier in the NVM along with the data, and the identifier can indicate the processing techniques used on the associated data.Type: ApplicationFiled: December 20, 2016Publication date: April 13, 2017Inventors: Daniel J. Post, Matthew J. Byom, Vadim Khmelnitsky, Nir Jacob Wakrat, Kenneth L. Herman
-
Patent number: 9472285Abstract: Systems and methods are provided for testing a non-volatile memory, such as a flash memory. The non-volatile memory may be virtually partitioned into a test region and a general purpose region. A test application may be stored in the general purpose region, and the test application can be executed to run a test of the memory locations in the test region. The results of the test may be stored in the general purpose region. At the completion of the test, the test results may be provided from the general purpose region and displayed to a user. The virtual partitions may be removed prior to shipping the electronic device for distribution.Type: GrantFiled: March 11, 2014Date of Patent: October 18, 2016Assignee: APPLE INC.Inventors: Matthew J. Byom, Nir J. Wakrat, Kenneth L. Herman
-
Patent number: 9383808Abstract: Systems and methods are disclosed for dynamically allocating power for a system having non-volatile memory. A power budgeting manager of a system can determine if the total amount of power available for the system is below a pre-determined power level (e.g., a low power state). While the system is operating in the low power state, the power budgeting manager can dynamically allocate power among various components of the system (e.g., a processor and non-volatile memory).Type: GrantFiled: July 31, 2014Date of Patent: July 5, 2016Assignee: APPLE INC.Inventors: Nir J. Wakrat, Kenneth L. Herman, Matthew J. Byom
-
Publication number: 20160092110Abstract: Systems and methods are disclosed for configuring a non-volatile memory (“NVM”). In some embodiments, each block of the NVM can include a block table-of-contents (“TOC”), which can be encoded (e.g., run-length encoded) and dynamically-sized. Thus, as user data is being programmed to a block, the size of a block TOC can be concurrently recalculated and increased only if necessary. In some embodiments, the NVM interface can use a weave sequence stored in the context information and at least one weave sequence associated with each page of a block to determine whether to replay across the pages of the block after system boot-up.Type: ApplicationFiled: December 8, 2015Publication date: March 31, 2016Inventors: Vadim Khmelnitsky, Daniel J. Post, Nir Jacob Wakrat, Matthew J. Byom, Kenneth L. Herman, Alexander C. Sanks
-
Patent number: 8918655Abstract: Systems, apparatuses, and methods are provided for whitening and managing data for storage in non-volatile memories, such as Flash memory. In some embodiments, an electronic device such as media player is provided, which may include a system-on-a-chip (SoC) and a non-volatile memory. The SoC may include SoC control circuitry and a memory interface that acts as an interface between the SoC control circuitry and the non-volatile memory. The SoC can also include an encryption module, such as a block cipher based on the Advanced Encryption Standard (AES). The memory interface can direct the encryption module to whiten all types of data prior to storage in the non-volatile memory, including sensitive data, non-sensitive data, and memory management data. This can, for example, prevent or reduce program-disturb problems or other read/write/erase reliability issues.Type: GrantFiled: November 18, 2013Date of Patent: December 23, 2014Assignee: Apple Inc.Inventors: Kenneth L. Herman, Matthew J. Byom, Michael J. Smith, Tahoma M. Toelkes
-
Publication number: 20140344609Abstract: Systems and methods are disclosed for dynamically allocating power for a system having non-volatile memory. A power budgeting manager of a system can determine if the total amount of power available for the system is below a pre-determined power level (e.g., a low power state). While the system is operating in the low power state, the power budgeting manager can dynamically allocate power among various components of the system (e.g., a processor and non-volatile memory).Type: ApplicationFiled: July 31, 2014Publication date: November 20, 2014Inventors: Nir J. Wakrat, Kenneth L. Herman, Matthew J. Byom
-
Patent number: 8862851Abstract: The disclosed architecture uses address mapping to map a block address on a host interface to an internal block address of a non-volatile memory (NVM) device. The block address is mapped to an internal chip select for selecting a Concurrently Addressable Unit (CAU) identified by the block address. The disclosed architecture supports generic NVM commands for read, write, erase and get status operations. The architecture also supports an extended command set for supporting read and write operations that leverage a multiple CAU architecture.Type: GrantFiled: December 21, 2012Date of Patent: October 14, 2014Assignee: Apple Inc.Inventors: Tahoma Toelkes, Nir Jacob Wakrat, Kenneth L Herman, Barry Corlett, Vadim Khmelnitsky, Anthony Fai, Daniel Jeffrey Post, Hsiao Thio
-
Publication number: 20140281588Abstract: Systems and methods are disclosed for generating efficient reads for a system having non-volatile memory (“NVM”). A read command can be separated by a host processor of the system into two phases: a) transmitting a command to a storage processor of the system, where the command is associated with one or more logical addresses, and b) generating data transfer information. The host processor can generate the data transfer information while the storage processor is processing the command from the host processor. Once the data transfer information has been generated and data has been read from the NVM, the data can be transferred.Type: ApplicationFiled: March 14, 2014Publication date: September 18, 2014Applicant: Apple Inc.Inventors: Andrew W. Vogan, Matthew J. Byom, Alexander C. Sanks, Daniel J. Post, Hari Hara Kumar Maharaj, Nir Jacob Wakrat, Kenneth L. Herman
-
Publication number: 20140192599Abstract: Systems and methods are provided for testing a non-volatile memory, such as a flash memory. The non-volatile memory may be virtually partitioned into a test region and a general purpose region. A test application may be stored in the general purpose region, and the test application can be executed to run a test of the memory locations in the test region. The results of the test may be stored in the general purpose region. At the completion of the test, the test results may be provided from the general purpose region and displayed to a user. The virtual partitions may be removed prior to shipping the electronic device for distribution.Type: ApplicationFiled: March 11, 2014Publication date: July 10, 2014Applicant: Apple Inc.Inventors: Matthew J. Byom, Nir J. Wakrat, Kenneth L. Herman
-
Publication number: 20140112079Abstract: Systems and methods are disclosed for managing the peak power consumption of a system, such as a non-volatile memory system (e.g., flash memory system). The system can include multiple subsystems and a controller for controlling the subsystems. Each subsystem may have a current profile that is peaky. Thus, the controller may control the peak power of the system by, for example, limiting the number of subsystems that can perform power-intensive operations at the same time or by aiding a subsystem in determining the peak power that the subsystem may consume at any given time.Type: ApplicationFiled: December 30, 2013Publication date: April 24, 2014Applicant: Apple Inc.Inventors: Nir J. Wakrat, Daniel J. Post, Kenneth L. Herman, Vadim Khmelnitsky, Nicholas C. Seroff, Hsiao H. Thio, Matthew J. Byom
-
Publication number: 20140075208Abstract: Systems, apparatuses, and methods are provided for whitening and managing data for storage in non-volatile memories, such as Flash memory. In some embodiments, an electronic device such as media player is provided, which may include a system-on-a-chip (SoC) and a non-volatile memory. The SoC may include SoC control circuitry and a memory interface that acts as an interface between the SoC control circuitry and the non-volatile memory. The SoC can also include an encryption module, such as a block cipher based on the Advanced Encryption Standard (AES). The memory interface can direct the encryption module to whiten all types of data prior to storage in the non-volatile memory, including sensitive data, non-sensitive data, and memory management data. This can, for example, prevent or reduce program-disturb problems or other read/write/erase reliability issues.Type: ApplicationFiled: November 18, 2013Publication date: March 13, 2014Applicant: Apple Inc.Inventors: Kenneth L. Herman, Matthew J. Byom, Michael J. Smith, Tahoma M. Toelkes
-
Patent number: 8370603Abstract: The disclosed architecture uses address mapping to map a block address on a host interface to an internal block address of a non-volatile memory (NVM) device. The block address is mapped to an internal chip select for selecting a Concurrently Addressable Unit (CAU) identified by the block address. The disclosed architecture supports generic NVM commands for read, write, erase and get status operations. The architecture also supports an extended command set for supporting read and write operations that leverage a multiple CAU architecture.Type: GrantFiled: November 6, 2009Date of Patent: February 5, 2013Assignee: Apple Inc.Inventors: Tahoma Toelkes, Nir Jacob Wakrat, Kenneth L. Herman, Barry Corlett, Vadim Khmelnitsky, Anthony Fai, Daniel Jeffrey Post, Hsiao Thio
-
Publication number: 20130013861Abstract: A method for managing data storage is described. The method includes receiving data from an external host at a peripheral storage device, detecting a file system type of the external host, and adapting a caching policy for transmitting the data to a memory accessible by the storage device, wherein the caching policy is based on the detected file system type. The detection of the file system type can be based on the received data. The detection bases can include a size of the received data. In some implementations, the detection of the file system type can be based on accessing the memory for file system type indicators that are associated with a unique file system type. Adapting the caching policy can reduce a number of data transmissions to the memory. The detected file system type can be a file allocation table (FAT) system type.Type: ApplicationFiled: September 15, 2012Publication date: January 10, 2013Inventors: Michael J. Cornwell, Christopher P. Dudle, Kenneth L. Herman
-
Patent number: 8291166Abstract: A method for managing data storage is described. The method includes receiving data from an external host at a peripheral storage device, detecting a file system type of the external host, and adapting a caching policy for transmitting the data to a memory accessible by the storage device, wherein the caching policy is based on the detected file system type. The detection of the file system type can be based on the received data. The detection bases can include a size of the received data. In some implementations, the detection of the file system type can be based on accessing the memory for file system type indicators that are associated with a unique file system type. Adapting the caching policy can reduce a number of data transmissions to the memory. The detected file system type can be a file allocation table (FAT) system type.Type: GrantFiled: May 24, 2010Date of Patent: October 16, 2012Assignee: Apple Inc.Inventors: Michael J. Cornwell, Christopher P. Dudte, Kenneth L. Herman
-
Publication number: 20100228909Abstract: A method for managing data storage is described. The method includes receiving data from an external host at a peripheral storage device, detecting a file system type of the external host, and adapting a caching policy for transmitting the data to a memory accessible by the storage device, wherein the caching policy is based on the detected file system type. The detection of the file system type can be based on the received data. The detection bases can include a size of the received data. In some implementations, the detection of the file system type can be based on accessing the memory for file system type indicators that are associated with a unique file system type. Adapting the caching policy can reduce a number of data transmissions to the memory. The detected file system type can be a file allocation table (FAT) system type.Type: ApplicationFiled: May 24, 2010Publication date: September 9, 2010Applicant: APPLE INC.Inventors: Michael J. Cornwell, Christopher P. Dudte, Kenneth L. Herman
-
Patent number: 7752391Abstract: A method for managing data storage is described. The method includes receiving data from an external host at a peripheral storage device, detecting a file system type of the external host, and adapting a caching policy for transmitting the data to a memory accessible by the storage device, wherein the caching policy is based on the detected file system type. The detection of the file system type can be based on the received data. The detection bases can include a size of the received data. In some implementations, the detection of the file system type can be based on accessing the memory for file system type indicators that are associated with a unique file system type. Adapting the caching policy can reduce a number of data transmissions to the memory. The detected file system type can be a file allocation table (FAT) system type.Type: GrantFiled: January 20, 2006Date of Patent: July 6, 2010Assignee: Apple Inc.Inventors: Michael J. Cornwell, Christopher P. Dudte, Kenneth L. Herman
-
Publication number: 20100161886Abstract: The disclosed architecture uses address mapping to map a block address on a host interface to an internal block address of a non-volatile memory (NVM) device. The block address is mapped to an internal chip select for selecting a Concurrently Addressable Unit (CAU) identified by the block address. The disclosed architecture supports generic NVM commands for read, write, erase and get status operations. The architecture also supports an extended command set for supporting read and write operations that leverage a multiple CAU architecture.Type: ApplicationFiled: November 6, 2009Publication date: June 24, 2010Applicant: APPLE INC.Inventors: Tahoma Toelkes, Nir Jacob Wakrat, Kenneth L. Herman, Barry Corlett, Vadim Khmelnitsky, Anthony Fai, Daniel Jeffrey Post, Hsiao Thio