Non-Volatile Memory Controller Cache Flush via Read Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data stored in servers with non-volatile memory is at risk of loss due to faulty servers, and existing methods lack effective mechanisms for secure and efficient data storage, particularly in scenarios where network resources and computing resources are limited.
Innovation Solution
A data storage method where a first server with non-volatile memory receives write instructions from a second server, stores data in both its cache and storage medium, and actively flushes data to the storage medium upon detection of a read instruction, ensuring data persistence and reducing overheads by minimizing unnecessary operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is stored only in the cache of the non-volatile memory controller, then write speed is improved, but data reliability deteriorates because data may be lost if the server fails before flushing to storage medium
Solution Approach 1:
The system performs a read operation immediately after a write operation to trigger the flush of data from cache to storage medium before the server may fail. This preliminary action ensures data is persisted to non-volatile storage while maintaining the appearance of fast writes, resolving the contradiction between write speed and data reliability.
2Reliability
If data is flushed to storage medium immediately after writing to cache, then data reliability is improved, but write speed deteriorates due to the time required for flushing
Solution Approach 1:
The system uses a feedback mechanism where a read instruction sent by the second server triggers the flush operation. The first server detects this read instruction and automatically flushes the data from cache to storage medium, creating a feedback loop that ensures data reliability without requiring the second server to manage flush operations directly, thus maintaining write speed while improving reliability.
3Adaptability or versatility
If the second server manages both computing tasks and storage operations, then functionality is complete, but performance deteriorates due to increased computational load
Solution Approach 1:
The storage management functionality is extracted from the second server and implemented in the first server. The first server autonomously detects read instructions and manages the flush operations from cache to storage medium, removing the burden of storage management from the second server. This allows the second server to focus on computing tasks while the first server handles storage operations, improving overall system performance while maintaining complete functionality.
4Reliability
If the first server autonomously detects read instructions and triggers flushes, then data security is improved, but device complexity increases
Solution Approach 1:
The first server's controller is designed with multi-functionality, handling both the detection of read instructions and the triggering of flush operations within a single integrated component. This universal design consolidates the control logic in one place, improving data security through autonomous operation while minimizing the increase in device complexity by avoiding separate dedicated components for each function.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
This disclosure discloses a data storage method and apparatus, and a server. The method includes: receiving, by a first server, a write instruction sent by a second server, storing target data in a cache of a controller, detecting a read instruction for the target data, and storing the target data in a storage medium of a non-volatile memory based on the read instruction. In other words, when the second server needs to write the target data to the first server, the target data is not only written to the cache of the first server, but also written to the storage medium of the first server. This can ensure that the data in the cache is written to the storage medium promptly.