摘要:
Methods and structures for dynamic density control to improve reliability of a dynamically mapped storage device. In a dynamically mapped storage device in which all user supplied logical blocks are dynamically mapped by the storage device controller to physical disk blocks, features and aspects hereof provide for dynamically altering the recording density of user data stored on the storage device. So long as the physical capacity utilization of the storage device permits, new data stored on the device may be stored at lower density to improve reliability in reading back the recorded data. Further features and aspects hereof may reduce the recording density only for data deemed to be critical. Radial (track) density, longitudinal (bit) density, or both may be dynamically controlled to reduce recording density. As physical capacity utilization increases, data previously recorded at lower density may be migrated (re-recorded) at normal higher density.
摘要:
Methods and structures for dynamic multiple indirections to improve reliability and performance of a dynamically mapped storage devices. In a dynamically mapped storage device in which all user supplied logical blocks are dynamically mapped by the storage device controller to physical disk blocks, features and aspects hereof provide for dynamically altering the number of replicated copies (multiple mapped indirections) of user data stored on the storage device. Performance information regarding operation of the storage device may be gathered by the storage device controller such that where physical capacity of the storage device permits and as degrading reliability is detected, additional copies (multiple indirections) of stored user data may be written to the mapped storage device. Increased multiple indirections improves reliability by decreasing the probability of data loss in response to various failure modes of the storage device. Strategic physical placement of the multiple copies (multiple indirections) may improve performance by reducing latencies associated with accessing the user data.
摘要:
Methods and structures for providing patches or updates to embedded ROM firmware simply and inexpensively while avoiding imposition of execution or memory fetch overhead. A patch memory includes locations storing addresses and optional alternate data values. Read/fetch operations addressed to a firmware ROM memory are applied in parallel to the patch memory. All locations of the patch memory may be compared in parallel to the supplied address to determine if a match is found in patch memory. If no match is found, the read/fetch memory cycle completes normally retrieving data from the ROM memory. If a match is found, the alternate data value is applied to the data bus in place of the ROM memory data retrieved. Any ROM location may therefore be patched regardless of whether the location stores instruction or data.
摘要:
Methods and structures for mapping of logical to physical block addresses within a disk drive to provide independence of the logical block size and the physical disk block size. The independence of the logical and physical block sizes enables numerous beneficial features to improve disk drive capacity, performance and reliability. In one exemplary aspect, indirect mapping table structures and methods map an LBA to an associated IBA representing a block of the same size as the logical block. The IBA is then converted to a corresponding starting quantum unit of data identified by a QA. The QA is, in turn, converted to a disk block identified by a starting DBA and an offset within that DBA. The disk block may be of variable size and is independent of the size of the identified LBA. Numerous other features are enabled by the logical to physical mapping features hereof.
摘要:
Methods and structures for recovering from an off-track position error in a dynamically mapped storage device. In a dynamically mapped storage device data is dynamically mapped to a physical location on the recordable media. Thus, when a write fault occurs, such as an off-track position error, the data may be re-written and re-mapped at a different location on the recordable media. In a dynamically mapped storage device data may be reordered into a sequential stream of contiguous physical data blocks. Random host data blocks may be mapped into sequential physical data blocks on the recordable media. Further, the sequential reordering of the data blocks may ensure that no data is present in tracks or sectors directly ahead of the track of sector being written. Further, the system has the ability to store multiple revolutions of host supplied data within the disk drive memory buffer and maintain the information in memory while writing it to the recordable media. The multiple revolutions of host supplied data may be used to recover from the destruction of previously written physical blocks overwritten during an off-track position error.
摘要:
Methods and structures for providing on-the-fly head depopulation in a dynamically mapped storage device. In a dynamically mapped storage device in which all user supplied logical blocks are dynamically mapped by the storage device controller to physical disk blocks, features and aspects hereof allow on-the-fly head depopulation to protect data when a subsection of a storage device, such as a head of surface is failing. When the storage device detects that a head is failing, data may be migrated off the failing subsection into other subsections (e.g., a different head or surface) using mapping features and aspects hereof. Thus, the data on the failing subsection is still available should the subsection or head eventually fail.
摘要:
Methods and structures for performing field flawscan to reduce manufacturing costs of a dynamic mapped storage device. In a dynamic mapped storage device in which all user supplied logical blocks are dynamically mapped by the storage device controller to physical disk blocks, features and aspects hereof permit flawscan testing of a storage device to be completed substantially concurrently with processing write requests for its intended application. A fraction of the storage device may be certified by an initial flawscan performed during manufacturing testing. Statistical sampling sufficient to assure a high probability of achieving specified capacity may be performed to reduce manufacturing time and costs in testing. Final flawscan of the remainder of the storage locations may be performed substantially concurrently with processing of write requests after the device is installed for its intended application. Mapping features and aspects hereof allow the storage device controller to perform flawscan and write operations concurrently.
摘要:
Systems and methods are disclosed for trim token journaling. A device can monitor the order in which trim commands and write commands are applied to an indirection system stored in a volatile memory of the device. In some embodiments, the device can directly write to a page of an NVM with a trim token that indicates that a LBA range stored in the page has been trimmed. In other embodiments, a device can add pending trim commands to a trim buffer stored in the volatile memory. Then, when the trim buffer reaches a pre-determined threshold or a particular trigger is detected, trim tokens associated with all of the trim commands stored in the trim buffer can be written to the NVM. Using these approaches, the same sequence of events that was applied to the indirection system during run-time can be applied during device boot-up.
摘要:
Systems and methods are disclosed for heuristics associated with programming data in a non-volatile memory (“NVM”). One or more applications can generate information that notifies a system of the amounts of recoverable and unrecoverable new data that will be programmed to an NVM. Based on this information, the system can calculate the amount of new data that needs to be placed in a bulk mode instead of a SLC mode. By utilizing multi-modal modes of an NVM effectively, the system can improve overall performance and reduce the probability of unnecessary garbage collection.
摘要:
A method and system for wear leveling in a solid state drive by mapping the logical regions of the solid state drive that hold static content or information into the physical regions of the solid state drive that have erase counts more than an average erase count of all of the physical regions. By doing so, it allows the solid state drive to wear level itself naturally through continued usage. In one embodiment of the invention, the erase count of each physical region is incremented with every erasing operation of each physical region. The physical regions that have a high count of erase count operations are mapped with content of the logical regions with static content so that the possibility of future erase operations of these physical regions is reduced.