US9146684B2ActiveUtilityA1

Storage architecture for server flash and storage array operation

67
Assignee: NETAPP INCPriority: Sep 28, 2012Filed: Sep 28, 2012Granted: Sep 29, 2015
Est. expirySep 28, 2032(~6.2 yrs left)· nominal 20-yr term from priority
G06F 3/0685G06F 3/0613G06F 12/0866G06F 3/0656
67
PatentIndex Score
2
Cited by
28
References
20
Claims

Abstract

A storage architecture of a storage system environment has a storage connector interface configured to exchange data directly between flash storage devices on a server and a storage array of the environment so as to bypass main memory and a system bus of the server. According to one or more embodiments, the storage connnector interface includes control logic configured to implement the data exchange in accordance with one of a plurality of operational modes that deploy and synchronize the data on the flash storage devices and the storage array. Advantageously, the storage connector interface obviates latencies and bandwidth consumption associated with prior data exchanges over the main memory and bus, thereby enhancing storage architecture performance.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
       1. A system comprising:
 a storage array; and 
 a server connected to the storage array, the server including a main memory coupled to a storage connector adapter by a system bus, the storage connector adapter including an input/output (I/O) journal coupled to flash storage, the I/O journal configured to log one or more write operations to process data stored on the flash storage, the storage connector adapter further including a storage connector interface configured to exchange the data directly between the flash storage and the storage array so as to bypass the main memory and system bus, the storage connector interface including control logic configured to implement the data exchange in accordance with one of a plurality of operational modes that performs synchronization of the data stored on the flash storage and the storage array. 
 
     
     
       2. The system of  claim 1  wherein the storage connector interface is configured to cooperate with the I/O journal to log each write operation in accordance with an ordering constraint used to implement the one operational mode to provide a consistent recovery point for the data in an event of a failure that interrupts the synchronization of the data. 
     
     
       3. The system of  claim 1  wherein the flash storage comprises:
 non-volatile, solid-state electronic devices; and 
 a controller configured to control access to the data stored on the non volatile, solid-state electronic devices. 
 
     
     
       4. The system of  claim 3  wherein the non-volatile, solid-state electronic devices comprise flash storage devices. 
     
     
       5. The system of  claim 1  wherein the I/O journal comprises:
 non-volatile, solid-state electronic storage; and 
 a controller configured to control access to the non-volatile, solid-state electronic storage. 
 
     
     
       6. The system of  claim 5  wherein the non-volatile, solid-state electronic storage comprises non-volatile random access memory. 
     
     
       7. The system of  claim 1  wherein the write operation is issued by an application executing on the server. 
     
     
       8. The system of  claim 2  wherein the I/O journal is further configured to provide a last-state retention capability that logs a current state of the data with respect to storage on the flash storage and the storage array, and that further enables processing of the logged write operation in an event of the failure. 
     
     
       9. The system of  claim 8  wherein the storage connector interface further comprises:
 a plurality of queues configured and arranged to enforce the ordering constraint used to implement the one operational mode. 
 
     
     
       10. The system of  claim 9  wherein the one operational mode comprises synchronous mirroring and the ordering constraint synchronously forwards each write request to the storage array. 
     
     
       11. The system of  claim 9  wherein the one operational mode comprises a forced ordering mode and the ordering constraint forwards each write request to the storage array, subject to the forced ordering with respect to other write requests. 
     
     
       12. The system of  claim 9  wherein the one operational mode comprises a partial ordering mode and the ordering constraint aggregates a number of partially ordered, independent write requests during a period of time before forwarding an aggregation of the partially ordered, independent write requests to the storage array. 
     
     
       13. The system of  claim 9  wherein the one operational mode is an out-of-order mode and the ordering constraint forwards an aggregation of write requests to the storage array concurrently without order. 
     
     
       14. The system of  claim 13  wherein the control logic of the storage connector interface requests performance of a snapshot of the data stored on the storage array to establish the consistent recovery point. 
     
     
       15. The system of  claim 1  wherein the storage array comprises:
 a computer coupled to a plurality of disks and configured to interact with the server to enable service of the data stored on the disks in file system format and block formats with high reliability and integrity through the use of data protection and management techniques. 
 
     
     
       16. The system of  claim 15  wherein the data protection and management techniques include tiered storage, persistent point-in-time read-only images of the data, or Redundant Array of Independent (or Inexpensive) Disks implementations. 
     
     
       17. A method comprising:
 forwarding data from a storage array for storage on flash storage of a server connected to the storage array; 
 issuing a write request by an application executing on the server, the write request to modify the data stored on the flash storage; 
 storing the modified data on the flash storage; and 
 forwarding the write request directly from a storage connector interface of the server to the storage array so as to bypass a main memory and a system bus of the server, the write request forwarded in accordance with an ordering constraint used to implement an operational mode that synchronizes the modified data stored on the flash storage with the storage array. 
 
     
     
       18. The method of  claim 17  further comprising:
 marking the write request as dirty pending acknowledgement from the storage array that the modified data of the write request was properly stored on the storage array. 
 
     
     
       19. The method of  claim 18  further comprising:
 receiving the acknowledgement from the storage array; and 
 marking the write request as clean to indicate completion of the write request at the storage array. 
 
     
     
       20. A storage system environment comprising:
 a storage array having a plurality of disks and configured to reliably store data on the disks through the use of data protection and management techniques; and 
 a server connected to the storage array, the server including a main memory coupled to a storage connector adapter by a system bus, the storage connector adapter including an input/output (I/O) journal coupled to flash storage, the I/O journal configured to log one or more write operations to process selected data stored on the flash storage, the storage connector adapter further including a storage connector interface configured to exchange the selected data directly between the flash storage and the storage array so as to bypass the main memory and system bus, the storage connector interface including control logic configured to implement data exchange of the selected data in accordance with one of a plurality of operational modes that synchronize the data stored on the flash storage and the storage array, the storage connector interface further configured to cooperate with the I/O journal to log each write operation in accordance with an ordering constraint used to implement the one operational mode to provide a consistent recovery point for the selected data in an event of a failure that interrupts synchronization of the selected data.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.