Storage Class Memory Space Management via Slab Classes and DRAM Metadata Buffering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data storage management systems face bottlenecks due to slow hard disk drive (HDD) input/output performance and inefficient space management, particularly in storage class memory (SCM) where data is not byte-addressable like DRAM, leading to complex software system design and fragmentation issues.
Innovation Solution
A system and method for memory space management in SCM that divides the SCM space into a header area for metadata and a data area, using a slab class data structure with lists of page and slot identifiers to optimize storage allocation and access, allowing direct slot access without reading entire pages, and buffering metadata in DRAM to reduce unnecessary writes and metadata updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If the entire space is divided into fixed-size pages for HDD space management, then reading and writing operations can be standardized, but data access efficiency deteriorates because entire pages must be read or written even for single bit operations
Solution Approach 1:
The patent segments a data page into multiple fixed-size slots, allowing the system to allocate and access only the specific slots needed rather than entire pages. This segmentation enables fine-grained space management where individual slots can be independently accessed, resolving the contradiction between standardized operations and access efficiency.
2Adaptability or versatility
If the Buddy System is used for DRAM space management to avoid page limitation and provide flexible space allocation, then space allocation flexibility improves, but system complexity increases due to the complex space management data structure that must be frequently modified
Solution Approach 1:
The patent introduces slab classes that segment free space management into multiple fixed-size slots within pages. This approach provides flexible space allocation similar to the Buddy System but with simpler data structures, as slots are managed through fixed-size allocations rather than complex buddy tree structures that require frequent modification.
Solution Approach 2:
The patent changes the management parameter from variable-sized blocks in the Buddy System to fixed-size slots organized in slab classes. This parameter change simplifies the data structure while maintaining allocation flexibility, reducing the complexity of space management operations.
3Reliability
If storage management metadata is stored only in SCM space, then storage consistency is maintained, but I/O performance deteriorates due to the need to read and write metadata from slow SCM storage
Solution Approach 1:
The patent introduces DRAM as an intermediary layer between the application and SCM storage for metadata management. The metadata is cached in fast DRAM memory, allowing rapid access and updates without directly accessing SCM storage. This intermediary layer maintains storage consistency while dramatically improving metadata access speed.
4Speed
If SCM is used to replace HDD for persistency to overcome slow I/O performance, then storage speed improves, but byte-addressability capability deteriorates as SCM is not byte-addressable like DRAM
Solution Approach 1:
The patent segments SCM space into fixed-size slots that can be individually addressed and managed. This segmentation approach provides a form of addressability for SCM by creating discrete, manageable units within pages, making it easier to allocate and access specific storage locations while maintaining the speed benefits of SCM.
Solution Approach 2:
The patent replaces the byte-addressability mechanism of DRAM with a slot-based addressability system in SCM. Instead of addressing individual bytes, the system addresses fixed-size slots, which provides sufficient addressability for most applications while being adapted to SCM's architectural constraints.
Data Source
AI summary
Embodiments of the present invention provide a system, method and computer program products for memory space management for storage class memory. One embodiment comprises a method for information storage in an information technology environment. The method comprises storing data in a storage class memory (SCM) space, and storing storage management metadata corresponding to said data, in the SCM in a first data structure. The method further includes buffering storage management metadata corresponding to said data, in a main memory in a second data structure.


