SSD Data Management via Extent-Based Sequential Writes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Solid-state storage devices (SSDs) face limitations in write cycles and efficiency due to the need for entire erase blocks to be rewritten, leading to slower random writes and inefficient use of storage capacity in RAID systems, especially in environments with frequent data updates.
Innovation Solution
Assigning generation numbers to logical sets of data allows sequential rewriting without erasing storage locations, and matching stripe sizes to data extents in RAID systems to ensure concurrent access and minimize data loss, with data being written in sub-stripes or bursts to optimize storage and retrieval.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If random writes are performed on SSDs by erasing entire erase blocks, then data can be updated, but write speed deteriorates significantly
Solution Approach 1:
The patent segments data into logical units called extents that can be independently managed. By segmenting data at the extent level rather than requiring erase block level operations, the system can update only the necessary portions of data without erasing entire erase blocks, thus improving write speed while maintaining data update capability
Solution Approach 2:
The patent implements preliminary actions by pre-allocating erase blocks and preparing them in advance. Extents are mapped to erase blocks before actual data writes, and the system maintains extent maps that track data locations. This preliminary organization allows subsequent updates to proceed more efficiently without requiring full erase block clearing
2Reliability
If SSDs are used in RAID mirror sets, then redundancy is provided, but storage capacity utilization deteriorates to only 50%
Solution Approach 1:
The patent applies local quality by providing redundancy only for specific extents rather than duplicating entire mirror sets. By using extent-based addressing and mapping, the system can provide selective redundancy where needed while allowing other portions of storage to be used for additional capacity, thus improving capacity utilization while maintaining necessary reliability
Solution Approach 2:
The patent changes the fundamental parameter of redundancy implementation from full mirror set duplication to extent-level redundancy. By modifying how redundancy is applied (from block-level mirroring to extent-level protection), the system achieves the same reliability goal with significantly improved storage capacity utilization
3Reliability
If entire erase blocks are rewritten for data updates, then data integrity is maintained, but the number of write cycles increases reducing SSD lifespan
Solution Approach 1:
The patent extracts the essential data update function from the erase block rewriting process. By separating data logic (extents) from physical storage structure (erase blocks), the system can update data without necessarily rewriting entire erase blocks, thus reducing write cycle consumption while maintaining data integrity through extent-based updates and mapping
4Adaptability or versatility
If stripe sizes in RAID systems are independent of application data sizes, then RAID configuration is flexible, but data accessibility deteriorates when devices fail
Solution Approach 1:
The patent implements dynamics by making the extent map adaptive rather than fixed. The extent map can dynamically adjust to map extents to different physical locations and devices based on current conditions. This dynamic mapping allows the system to maintain data accessibility even when devices fail, while preserving RAID configuration flexibility through software-based rather than hardware-based constraints
Data Source
AI summary
Methods are provided for efficiently storing data to a data storage device or subsystem. The data storage device may be a Solid-State Device (SSD), and may be implemented as part of a RAID (Redundant Array of Independent Disks) or other subsystem. When existing data is read and updated, and must be re-stored, the data is assembled and stored as if it were new data, and is written in a sequential manner, instead of being written to the same storage location. A newer generation number distinguishes it from the previous version. If the storage subsystem employs data striping, stripe size may be matched with the size of a logical collection of data (e.g., an extent), so that each such logical collection of data is wholly stored on just device in the storage subsystem. Concurrent device access may be supported by concurrently writing substripes of data to each device/extent.


