Pointer-Based Nonvolatile Memory Management for Network File Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network file computer systems face inefficiencies due to the need for duplicating data in nonvolatile memory, which consumes computational resources and increases data traffic, leading to reduced system memory availability and throughput during client requests and unclean shutdowns.
Innovation Solution
Implementing a method where only a single copy of data is stored in nonvolatile system memory with pointers in a log to manage client requests, eliminating the need for redundant data copies and optimizing memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is duplicated in nonvolatile system memory to ensure data integrity after unclean shutdown, then reliability is improved, but system memory consumption and data traffic increase
Solution Approach 1:
The patent uses pointers (logical copies) instead of duplicating actual data. When data is written to nonvolatile system memory, a pointer is created and stored in a log structure, allowing multiple references to the same data without duplicating the data itself. This resolves the contradiction by providing reliable data access through pointer copying while avoiding the memory consumption of actual data duplication.
Solution Approach 2:
The patent introduces a log structure as an intermediary between data storage and data access. The log contains pointers that mediate access to the actual data in nonvolatile system memory, allowing the system to track and manage data references without requiring data duplication. This intermediary mechanism enables reliability through pointer management while minimizing memory consumption.
2Productivity
If data is duplicated in nonvolatile system memory to handle client requests, then data availability is improved, but system memory traffic and computational resources increase
Solution Approach 1:
The patent creates pointer copies in the log structure rather than duplicating data. These pointers enable quick data location and access for multiple client requests without the computational overhead of copying actual data. This resolves the contradiction by maintaining data availability through pointer references while minimizing computational resource consumption.
Solution Approach 2:
The patent performs preliminary actions by creating and storing pointers in the log structure when data is first written to nonvolatile system memory. This preliminary pointer creation enables subsequent client requests to access data efficiently without requiring data duplication or complex lookup operations, thereby improving data availability while reducing computational resources for each access.
3Reliability
If redundant data copies are stored in nonvolatile memory, then data recovery after unclean shutdown is improved, but system memory availability decreases
Solution Approach 1:
The patent stores pointer copies in a log structure rather than duplicating data in nonvolatile system memory. The log contains references that enable data recovery after unclean shutdown by pointing to the original data locations, without consuming additional nonvolatile system memory for redundant data copies. This resolves the contradiction by enabling recovery through lightweight pointer storage while preserving system memory availability.
Solution Approach 2:
The patent extracts the essential recovery information (pointers) from the actual data and stores only these extracted references in the log structure. This separation allows the system to maintain data recovery capability while keeping nonvolatile system memory available for actual data storage, resolving the contradiction between recovery reliability and memory availability.
Data Source
AI summary
A nonvolatile system memory of a server of a network file computer system temporarily stores data received from client computers prior to the data being stored on a mass storage device. A single copy of the data and pointers which corresponds to the memory addresses of the data are stored in a temporary memory storage portion, preferably partitioned from nonvolatile system memory. The pointers are used to access the data to enable the transfer and writing of the data from the temporary memory storage to the mass storage device. Writing the data occurs during the normal operation of the network file computer system or after an unclean shutdown. The use of the pointers increases the performance of the network file computer system by conserving system memory storage space and reducing system memory traffic.


