Abstract:
A data storage device flushes newly written data in response to certain events such that, when the device has acknowledged newly written data, the device cannot return old data of the referenced logical block address to the host in any case. If the data of the logical block address has been corrupted, the device returns an uncorrectable error, not old data. A “force map entry flush” flushes modified map entries to NAND when an upper page is programmed. After a power failure and restoration, a storage device is able to analysis map entries to determine whether there is some host data in the uncorrectable die, then prevent return of old data to a host.
Abstract:
A data storage device flushes newly written data in response to certain events such that, when the device has acknowledged newly written data, the device cannot return old data of the referenced logical block address to the host in any case. If the data of the logical block address has been corrupted, the device returns an uncorrectable error, not old data. A “force map entry flush” flushes modified map entries to NAND when an upper page is programmed. After a power failure and restoration, a storage device is able to analysis map entries to determine whether there is some host data in the uncorrectable die, then prevent return of old data to a host.
Abstract:
A method for booting to an operating system stored on a solid state drive. The method comprises the steps of (A) determining if a boot list has one or more entries, (B) pre-reading one or more logical block addresses of each of the entries from the boot list, (C) receiving a command from a host, (D) reading the command from a memory internal to the solid state drive if the command is in a cache area of the pre-read logical block addresses and (E) reading the command from a main portion of the solid state drive if the command is not in the cache.
Abstract:
A method for booting to an operating system stored on a solid state drive. The method comprises the steps of (A) determining if a boot list has one or more entries, (B) pre-reading one or more logical block addresses of each of the entries from the boot list, (C) receiving a command from a host, (D) reading the command from a memory internal to the solid state drive if the command is in a cache area of the pre-read logical block addresses and (E) reading the command from a main portion of the solid state drive if the command is not in the cache.
Abstract:
A method for protecting a master boot record in a solid state drive, comprising the steps of (A) receiving a plurality of input/output requests from a host device, (B) determining whether one or more of the input/output requests is read/written to a first of a plurality of logical block addresses of the solid state drive and (C) writing an entry to a table for each of the input/output requests read/written to the first of the logical block addresses. The table (i) is separate from the first of the logical block addresses and (ii) is used to recover errors in the first of the logical block addresses.
Abstract:
A method for increasing performance of a recycle operation in a solid state drive, comprising the steps of (A) creating an empty physical-to-logical address map in a memory having a plurality of entry locations, (B) filling one of the plurality of entry locations with a physical page address associated with each data write operation to a block, where the block has a plurality of pages, (C) writing the physical-to-logical address map to a last of the plurality of pages during a write to a second to last page of the block and (D) initiating a recycle operation of the block by reading the address map to determine whether the pages contain valid data.