| Patent application number | Description | Published |
| 20100031085 | METHOD FOR REDUCING HOST DEVICE TO ELECTRONIC DEVICE COMMUNICATION ERRORS - This invention is directed to allowing an electronic device with a failed file system to dynamically direct a host device to reformat it, by making the storage component appear to be in its unformatted state. Upon detection of file system failure, the device writes changes to its disk to make it appear as factory-new to a host device. The host device treats the electronic device as if it is a brand new device that has never been connected to a host device before, and reformats it. By reformatting the device's storage component, the host device thereby provides a way to maintain communication between the host device and electronic device, allowing a more sophisticated application to then diagnose and recover the contents of the storage component, without the involvement of the user or a specialist. This avoids returns of devices with failed file systems, thereby improving the overall user experience. | 02-04-2010 |
| 20100082711 | SYSTEMS AND METHODS FOR SIDEBAND COMMUNICATION BETWEEN DEVICE AND HOST TO MINIMIZE FILE CORRUPTION - Communications systems and methods for minimizing file corruption when communicating between a device and a host are provided. To initiate a file transfer section, a host can transfer data to a device on a primary communications channel. The device can then temporarily store the received data in a memory circuit until a command is received indicating that the file has been completely transferred. In order to avoid interfering with the data transfer, the host can provide such a command to the device on a sideband communications channel. Upon receiving the command, the device can integrate the received data into its file system by transferring the data from the memory circuit to a more permanent storage component. If the communications interface is disconnected before such a command is received, the temporarily stored data can be considered incomplete and can be deleted. | 04-01-2010 |
| 20100228549 | SYSTEMS AND METHODS FOR DETERMINING THE LANGUAGE TO USE FOR SPEECH GENERATED BY A TEXT TO SPEECH ENGINE - Algorithms for synthesizing speech used to identify media assets are provided. Speech may be selectively synthesized from text strings associated with media assets, where each text string can be associated with a native string language (e.g., the language of the string). When several text strings are associated with at least two distinct languages, a series of rules can be applied to the strings to identify a single voice language to use for synthesizing the speech content from the text strings. In some embodiments, a prioritization scheme can be applied to the text strings to identify the more important text strings. The rules can include, for example, selecting a voice language based on the prioritization scheme, a default language associated with an electronic device, the ability of a voice language to speak text in a different language, or any other suitable rule. | 09-09-2010 |
| 20100229005 | DATA WHITENING FOR WRITING AND READING DATA TO AND FROM A NON-VOLATILE MEMORY - 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. | 09-09-2010 |
| 20110010698 | TEST PARTITIONING FOR A NON-VOLATILE MEMORY - 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. | 01-13-2011 |
| 20110055454 | SYSTEMS AND METHODS FOR DETERMINING THE STATUS OF MEMORY LOCATIONS IN A NON-VOLATILE MEMORY - 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. | 03-03-2011 |
| 20110173462 | CONTROLLING AND STAGGERING OPERATIONS TO LIMIT CURRENT SPIKES - 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. | 07-14-2011 |
| 20110209028 | CODEWORD REMAPPING SCHEMES FOR NON-VOLATILE MEMORIES - Systems and methods are disclosed for remapping codewords for storage in a non-volatile memory, such as flash memory. In some embodiments, a controller that manages the non-volatile memory may prepare codeword using a suitable error correcting code. The controller can store a first portion of the codeword in a lower page of the non-volatile memory may store a second portion of the codeword in an upper page of the non-volatile memory. Because upper and lower pages may have different resiliencies to error-causing phenomena, remapping codewords in this manner may even out the bit error rates of the codewords (which would otherwise have a more bimodal distribution). | 08-25-2011 |