Patents by Inventor Matthew Byom

Matthew Byom 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).

  • Publication number: 20110302445
    Abstract: Systems and methods are provided for selectively retiring blocks based on refresh events of those blocks. In addition to refresh events, other criteria may be applied in making a decision whether to retire a block. By applying the criteria, the system is able to selectively retire blocks that may otherwise continue to be refreshed.
    Type: Application
    Filed: July 23, 2010
    Publication date: December 8, 2011
    Applicant: Apple Inc.
    Inventors: Matthew Byom, Daniel Post, Vadim Khmelnitsky
  • Publication number: 20110239065
    Abstract: Systems and methods are disclosed for performing run-time tests on a non-volatile memory (“NVM”), such as flash memory. The run-time tests may be tests that are performed on the NVM while the NVM can be operated by an end user (as opposed to during a manufacturing phase). In some embodiments, a controller for the NVM may detect an error event that may be indicative of a systemic failure of a die of the NVM. The controller may then select one or more blocks in the die to test, which may be dies that are currently not being used to store user data. The controller may post process the results of the test to determine whether there is a systemic failure, such as a column failure, and may treat the systemic failure if there is one.
    Type: Application
    Filed: March 24, 2010
    Publication date: September 29, 2011
    Applicant: Apple Inc.
    Inventors: Matthew Byom, Daniel J. Post, Kenneth Herman, Vadim Khmelnitsky
  • Publication number: 20110235434
    Abstract: Systems and methods are disclosed for managing a non-volatile memory (“NVM”), such as a flash memory. To prevent data errors due to leakage effects, the NVM may be refreshed. For example, a reserved portion of the NVM may be selected, and a predetermined pattern can be stored into the reserved portion. The reserved portion can then be monitored for storage deterioration over time. After determining that storage deterioration of the reserved portion has occurred, the NVM can be refreshed. In some embodiments, a controller can attempt to distinguish data errors due to leakage effects from data errors due to disturb issues.
    Type: Application
    Filed: March 24, 2010
    Publication date: September 29, 2011
    Applicant: Apple Inc.
    Inventors: Matthew Byom, Daniel J. Post, Vadim Khmelnitsky
  • Publication number: 20110239064
    Abstract: Systems and methods are disclosed for managing a non-volatile memory (“NVM”), such as a flash memory. The NVM may be managed based on results of a test performed on the NVM. The test may indicate, for example, physical memory locations that may be susceptible to errors, such as certain pages in the blocks of the NVM. Tests on multiple NVMs of the same type may be compiled to create a profile of error tendencies for that type of NVM. In some embodiments, data may be stored in the NVM based on individual test results for the NVM or based on a profile of the NVM type. For example, memory locations susceptible to error may be retired or data stored in those memory locations may be protected by a stronger error correcting code.
    Type: Application
    Filed: March 24, 2010
    Publication date: September 29, 2011
    Applicant: Apple Inc.
    Inventors: Matthew Byom, Nir J. Wakrat, Kenneth Herman, Daniel J. Post
  • Publication number: 20110213945
    Abstract: 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: Application
    Filed: February 26, 2010
    Publication date: September 1, 2011
    Applicant: Apple Inc.
    Inventors: Daniel J. Post, Matthew Byom, Vadim Khmelnitsky, Nir J. Wakrat, Kenneth Herman
  • Publication number: 20110173462
    Abstract: 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: Application
    Filed: July 26, 2010
    Publication date: July 14, 2011
    Applicant: Apple Inc.
    Inventors: Nir J. Wakrat, Daniel J. Post, Kenneth Herman, Vadim Khmelnitsky, Nick Seroff, Hsiao Thio, Matthew Byom
  • Publication number: 20110066869
    Abstract: In a non-volatile memory system, physically separate power rails are provided from a host system to a NVM device for independently power cycling a controller and memory array in the NVM device. The controller of the NVM device can send a power cycle request signal to the host system over a host channel, or updates a status register in the NVM device. The host system receives and decodes the power cycle request signal, or reads the status register, and performs the power cycle request, which can include power cycling the controller or the memory array in the NVM device, or both. The power cycle request can be based on a power state of the non-volatile memory system, which can be managed by the controller or the host system, or both.
    Type: Application
    Filed: September 16, 2009
    Publication date: March 17, 2011
    Applicant: APPLE INC.
    Inventors: Nir Jacob Wakrat, Anthony Fai, Matthew Byom
  • Publication number: 20110055454
    Abstract: Systems and methods are provided for storing data in a portion of a non-volatile memory (“NVM”) such that the status of the NVM portion can be determined with high probability on a subsequent read. An NVM interface, which may receive write commands to store user data in the NVM, can store a fixed predetermined sequence (“FPS”) with the user data. The FPS may ensure that a successful read operation on a NVM portion is not misinterpreted as a failed read operation or as an erased NVM portion. For example, if the NVM returns an all-zero vector when a read request fails, the FPS can include at least one “1” or one “0”, as appropriate, to differentiate between successful and unsuccessful read operations. In some embodiments, the FPS may also be used to differentiate between disturbed data, which passes an error correction check, and correct data.
    Type: Application
    Filed: September 1, 2009
    Publication date: March 3, 2011
    Applicant: Apple Inc.
    Inventors: Matthew Byom, Kenneth Herman
  • Publication number: 20110010698
    Abstract: 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: Application
    Filed: July 13, 2009
    Publication date: January 13, 2011
    Applicant: Apple Inc.
    Inventors: Matthew Byom, Nir J. Wakrat, Kenneth Herman
  • Publication number: 20100229005
    Abstract: 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: Application
    Filed: March 4, 2009
    Publication date: September 9, 2010
    Applicant: Apple Inc.
    Inventors: Kenneth Herman, Matthew Byom, Michael J. Smith, Tahoma M. Toelkes
  • Publication number: 20090307409
    Abstract: Methods, systems, devices, and apparatus, including computer program products, for memory management. Usage data associated with one or more files is identified and stored in a volatile memory of a device. The usage data is maintained in the volatile memory is maintained during and after a reset of the device. After the reset, the usage data can be written to a non-volatile memory.
    Type: Application
    Filed: June 6, 2008
    Publication date: December 10, 2009
    Applicant: Apple Inc.
    Inventors: Matthew Rogers, Daniel R. Fletcher, Matthew Byom, Timothy Patrick Hannon