PCIe Fabric Ordered Writes Storage Modules
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage appliances face challenges in ensuring consistent ordering of write requests across multiple storage modules without requiring clients to coordinate the writing process, leading to potential data inconsistencies.
Innovation Solution
The implementation of a PCIe fabric that enforces ordering of write requests using coordination between storage modules, ensuring that data is processed in the same order across all modules through multicasting and consistent hashing, thereby maintaining data consistency across storage modules.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple storage modules are used to increase storage capacity and speed, then productivity and storage capability are improved, but data consistency and ordering across modules deteriorate
Solution Approach 1:
The patent introduces a fabric (PCIe switch) as an intermediary component that receives write requests from clients and distributes them to multiple storage modules in a controlled manner. This fabric enforces ordering by serializing the write requests before distribution, ensuring that all storage modules process writes in the same sequence without requiring client-side coordination, thus maintaining data consistency while enabling parallel processing across multiple modules.
2Reliability
If client coordination is required to ensure ordering, then data consistency is improved, but device complexity and ease of operation worsen
Solution Approach 1:
The storage appliance system performs self-service by automatically enforcing write ordering through the fabric and storage module coordination mechanisms. The system independently manages the ordering and distribution of write requests without requiring clients to implement complex coordination protocols. This transfers the ordering enforcement responsibility from the client side to the storage appliance side, simplifying the client interface while maintaining strong ordering guarantees.
3Productivity
If write requests are processed in parallel across storage modules, then productivity is improved, but ordering enforcement becomes more difficult
Solution Approach 1:
The fabric performs preliminary ordering of write requests before distributing them to storage modules. By serializing and ordering the write requests at the fabric level prior to parallel distribution, the system enables parallel processing across storage modules while maintaining a single global order. This preliminary ordering action eliminates the need for complex coordination during parallel execution, as all modules receive pre-ordered requests.
Data Source
AI summary
In general, embodiments of the technology relate to a method and system for performing fast ordered writes in a storage appliance that includes multiple separate storage modules. More specifically, embodiments of the technology enable multicasting of data to multiple storage modules in a storage appliance, where the order in which the write requests are processed is the same across all storage modules in the storage appliance.


