Patent application number | Description | Published |
20080239808 | Flash Memory Refresh Techniques Triggered by Controlled Scrub Data Reads - The quality of data stored in individual blocks of memory cells of a flash memory system is monitored by a scrub read of only a small portion of a block, performed after data are read from less than all of a block in response to a read command from a host or memory controller. The small portion is selected for the scrub read because of its greater vulnerability than other portions of the block to being disturbed as a result of the commanded partial block data read. This then determines, as the result of reading a small amount of data, whether at least some of the data in the block was disturbed by the command data read to a degree that makes it desirable to refresh the data of the block. | 10-02-2008 |
20080239851 | Flash Memory with Data Refresh Triggered by Controlled Scrub Data Reads - The quality of data stored in individual blocks of memory cells of a flash memory system is monitored by a scrub read of only a small portion of a block, performed after data are read from less than all of a block in response to a read command from a host or memory controller. The small portion is selected for the scrub read because of its greater vulnerability than other portions of the block to being disturbed as a result of the commanded partial block data read. This then determines, as the result of reading a small amount of data, whether at least some of the data in the block was disturbed by the command data read to a degree that makes it desirable to refresh the data of the block. | 10-02-2008 |
20080316815 | METHODS OF PROGRAMMING MULTILEVEL CELL NONVOLATILE MEMORY - A memory system includes a first block in which data is stored with a low density and a second block in which data is stored with a high density. When data is received it is written to the first block, and in parallel some of the data is written to the second block, so that the second block is partially programmed. The second block is later fully programmed by copying additional data from the first block. | 12-25-2008 |
20080316816 | SYSTEMS FOR PROGRAMMING MULTILEVEL CELL NONVOLATILE MEMORY - A memory system includes a first block in which data is stored with a low density and a second block in which data is stored with a high density. When data is received it is written to the first block, and in parallel some of the data is written to the second block, so that the second block is partially programmed. The second block is later fully programmed by copying additional data from the first block. | 12-25-2008 |
20080320346 | SYSTEMS FOR READING NONVOLATILE MEMORY - In a nonvolatile memory system, first raw data is obtained from stored data using a first set of reading parameters. Subsequently, the first raw data is transferred to an ECC circuit where it is decoded. While the first raw data is being transferred and decoded, second raw data is obtained from the same stored data using a second set of reading parameters. | 12-25-2008 |
20080320366 | METHODS OF READING NONVOLATILE MEMORY - In a nonvolatile memory system, first raw data is obtained from stored data using a first set of reading parameters. Subsequently, the first raw data is transferred to an ECC circuit where it is decoded. While the first raw data is being transferred and decoded, second raw data is obtained from the same stored data using a second set of reading parameters. | 12-25-2008 |
20090006667 | Secure digital host sector application flag compression - A memory apparatus and method of operation therefore includes control by a memory controller which, in one embodiment, is configured to configure a host sector application flag table in the memory array, the flag table associating each flag value with an address in the memory array where information associated with that flag value is stored. In a second embodiment the controller is configured to (a) write at least one page of information to the memory, each page having a plurality of sectors, each of the at least one pages including a page header having a flag value associated with information written to the page, and (b) configure an exception block in memory, the exception block including exception entries, each exception entry having at least an exception flag value and address information identifying an address range in the memory array to which the exception flag value applies. | 01-01-2009 |
20090067241 | DATA PROTECTION FOR WRITE ABORT - A portion of a nonvolatile memory array that is likely to contain, partially programmed data may be identified from a high sensitivity read, by applying stricter than usual ECC requirements, or using pointers to programmed sectors. The last programmed data may be treated as likely to be partially programmed data. Data in the identified portion may be copied to another location, or left where it is with an indicator to prohibit further programming to the same cells. To avoid compromising previously stored data during subsequent programming, previously stored data may be backed up. Backing up may be done selectively, for example, only for nonsequential data, or only when the previously stored data contains an earlier version of data being programmed. If a backup copy already exists, another backup copy is not created. Sequential commands are treated as a single command if received within a predetermined time period. | 03-12-2009 |
20090070521 | WRITE ABORT AND ERASE ABORT HANDLING - A portion of a nonvolatile memory array that is likely to contain, partially programmed data may be identified from a high sensitivity read, by applying stricter than usual ECC requirements, or using pointers to programmed sectors. The last programmed data may be treated as likely to be partially programmed data. Data in the identified portion may be copied to another location, or left where it is with an indicator to prohibit further programming to the same cells. To avoid compromising previously stored data during subsequent programming, previously stored data may be backed up. Backing up may be done selectively, for example, only for nonsequential data, or only when the previously stored data contains an earlier version of data being programmed. If a backup copy already exists, another backup copy is not created. Sequential commands are treated as a single command if received within a predetermined time period. | 03-12-2009 |
20090070748 | POINTERS FOR WRITE ABORT HANDLING - A portion of a nonvolatile memory array that is likely to contain, partially programmed data may be identified from a high sensitivity read, by applying stricter than usual ECC requirements, or using pointers to programmed sectors. The last programmed data may be treated as likely to be partially programmed data. Data in the identified portion may be copied to another location, or left where it is with an indicator to prohibit further programming to the same cells. To avoid compromising previously stored data during subsequent programming, previously stored data may be backed up. Backing up may be done selectively, for example, only for nonsequential data, or only when the previously stored data contains an earlier version of data being programmed. If a backup copy already exists, another backup copy is not created. Sequential commands are treated as a single command if received within a predetermined time period. | 03-12-2009 |
20090204824 | SYSTEM, METHOD AND MEMORY DEVICE PROVIDING DATA SCRAMBLING COMPATIBLE WITH ON-CHIP COPY OPERATION - Data scrambling techniques implemented externally to a flash memory device are disclosed which can be used in concert with flash memory on-chip copy functionality operating internally to the flash device, thus supporting high performance copying operations. All the data stored in the flash may be scrambled, including headers and control structures. Robust file system operation may be achieved, including the capability to tolerate a power loss at any time, and yet be able to relocate data internally within the flash without having to de-scramble and then re-scramble the data. An exemplary hardware based solution has little or no impact on overall system performance, and may be implemented at very low incremental cost to increase overall system reliability. The data scrambling technique preferably uses a logical address, such as logical block address or logical page address, rather than a physical address, to determine a seed scrambling key. | 08-13-2009 |
20100275038 | Memory Device and Method for Adaptive Protection of Content - A memory device and method for adaptive protection of content are disclosed. In one embodiment, a memory device is provided comprising a memory operative to store content and a controller in communication with the memory. The controller is operative to generate a content protection algorithm that is different from at least one content protection algorithm previously generated by the controller, protect the content in accordance with the content protection algorithm, generate virtual machine code containing instructions on how to unprotect the protected content, and provide the protected content and the virtual machine code to a host in communication with the memory device. In another embodiment, a method for adaptive protection of content is provided comprising generating a content protection algorithm that is different from at least one previously-generated content protection algorithm, protecting content in accordance with the content protection algorithm, generating virtual machine code containing instructions on how to unprotect the protected content, and providing the protected content and the virtual machine code to a host in communication with the memory device. | 10-28-2010 |
20100310075 | Method and System for Content Replication Control - A method and system for content replication control are provided. In one embodiment, a content replication system receives a request to replicate content in a plurality of memory devices, wherein each memory device is associated with a respective unique identifier. For each of the plurality of memory devices, the content replication system sends a request to a transport encryption key server for a transport encryption key, the request including the unique identifier of the memory device. If the unique identifier of the memory device is authorized to receive the transport encryption key, the content replication system receives the transport encryption key and sends the transport encryption key to the memory device. The content replication system then receives encrypted content from a content server, wherein the encrypted content is encrypted with the transport encryption key. The content replication system then sends the encrypted content to the plurality of memory devices. | 12-09-2010 |
20100332723 | Memory Device and Method for Embedding Host-Identification Information into Content - A memory device and method for embedding host-identification information into content are disclosed. In one embodiment, a memory device is provided comprising a memory operative to store content and a controller in communication with the memory. The controller is operative to receive a credential comprising host-identification information from a host in communication with the memory device, authenticate the host using the credential, receive a request from the host to play content stored in the memory, embed the host-identification information into the content, and send the content with the embedded host-identification information to the host. | 12-30-2010 |
20100332826 | Memory Device and Method for Updating a Security Module - A memory device and method for updating a security module are disclosed. In one embodiment, a memory device is provided comprising a memory operative to store content and a controller in communication with the memory. The controller is configured to send an identification of the memory device's security module to a host and receive an identification of the host's security module. If the memory device's security module is out-of-date with respect to the host's security module, the memory device receives a security module update from the host. If the host's security module is out-of-date with respect to the memory device's security module, the memory device sends a security module update to the host. | 12-30-2010 |