IP Library Granted Patent US 12,265,739
Granted Patent B2
US 12,265,739 · App. 18/516,966 · Granted Apr 1, 2025

Data access interface unit and the method for processing I/O requests

Inventors: Yen-Chen Wu (New Taipei, TW); Ying-Wen Lin (New Taipei, TW); Chih-Min Hsiao (New Taipei, TW)
Assignee: Infortrend Technology, Inc.
G06F3/0659G06F3/0604G06F3/0689
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,265,739
App. No.
18/516,966
Granted
Apr 1, 2025
Kind
B2
Abstract

The present invention discloses a data access interface unit comprising: a physical storage device controller for receiving a first control signal from a first storage virtualization controller, and accordingly determining the first storage virtualization controller as the primary controller, and generating a first selection signal; a selector for receiving the first selection signal, and accordingly selecting data and signals from the first storage virtualization controller; and a clock generation circuit for providing a dedicated clock signal to the physical storage device, where when the physical storage device controller receives a re-set signal from a second storage virtualization controller, the physical storage device controller determines the second storage virtualization controller as the new primary controller, and accordingly generates a second selection signal so as to control the selector to select data and signals from the second storage virtualization controller.

Claims (43)

1. A data access interface unit ( 8 ) coupled to a first storage virtualization controller (SVC 1 ) ( 10 ), a second storage virtualization controller (SVC 2 ) ( 20 ) and a physical storage device (PSD) ( 9 ) to assist either the first storage virtualization controller (SVC 1 ) ( 10 ) or the second storage virtualization controller (SVC 2 ) ( 20 ) in accessing the physical storage device (PSD) ( 9 ), the data access interface unit ( 8 ) comprising:

a physical storage device controller (PSD controller) ( 81 ) for receiving a first control signal from the first storage virtualization controller (SVC 1 ) ( 10 ) to confirm that the first storage virtualization controller (SVC 1 ) ( 10 ) is a primary controller of the physical storage device (PSD) ( 9 ), and generating a first selection signal, wherein when the physical storage device controller (PSD controller) ( 81 ) detects the physical storage device (PSD) ( 9 ) that is coupled, the physical storage device controller (PSD controller) ( 81 ) sends a notification signal to the first storage virtualization controller (SVC 1 ) ( 10 ) which acts as the primary controller to inform the first storage virtualization controller (SVC 1 ) ( 10 ) of availability of the physical storage device (PSD) ( 9 );

a selector ( 83 ) for receiving the first selection signal to select data and signals from the first storage virtualization controller (SVC 1 ) ( 10 ) according to the first selection signal; and

a clock generation circuit ( 85 ) for providing a dedicated clock signal to the physical storage device (PSD) ( 9 );

wherein when the physical storage device controller (PSD controller) ( 81 ) receives a reset signal from the second storage virtualization controller (SVC 2 ) ( 20 ), the physical storage device controller (PSD controller) ( 81 ) initiates a data flow switching procedure to change the primary controller of the physical storage device (PSD) ( 9 ) from the first storage virtualization controller (SVC 1 ) ( 10 ) to the second storage virtualization controller (SVC 2 ) ( 20 ), and the data flow switching procedure includes generating a second selection signal to control the selector ( 83 ) to select data and signals from the second storage virtualization controller (SVC 2 ) ( 20 ).

2. The data access interface unit ( 8 ) of claim 1 , wherein the data access interface unit ( 8 ) is installed on a backplane ( 401 ), and the data access interface unit ( 8 ) is coupled to the first storage virtualization controller (SVC 1 ) ( 10 ), the second storage virtualization controller (SVC 2 ) ( 20 ), and the physical storage device (PSD) ( 9 ) via the backplane ( 401 ).

3. The data access interface unit ( 8 ) of claim 1 , wherein the physical storage device (PSD) ( 9 ) processes at least one input/output request (I/O request) from the first storage virtualization controller (SVC 1 ) ( 10 ) or the second storage virtualization controller (SVC 2 ) ( 20 ) based on the dedicated clock signal provided by the clock generation circuit ( 85 ).

4. The data access interface unit ( 8 ) of claim 3 , wherein if the second storage virtualization controller (SVC 2 ) ( 20 ) does not receive a confirmation signal from the first storage virtualization controller (SVC 1 ) ( 10 ) within a first time interval, the second storage virtualization controller (SVC 2 ) ( 20 ) generates and sends the reset signal to the physical storage device controller (PSD controller) ( 81 ) to notify the physical storage device controller (PSD controller) ( 81 ) of setting up the second storage virtualization controller (SVC 2 ) ( 20 ) as the primary controller of the physical storage device (PSD) ( 9 ), and the physical storage device controller (PSD controller) ( 81 ) generates the second selection signal based on the reset signal to control the selector ( 83 ) to select data and signals from the second storage virtualization controller (SVC 2 ) ( 20 ).

5. The data access interface unit ( 8 ) of claim 3 , wherein if the second storage virtualization controller (SVC 2 ) ( 20 ) does not receive a response signal from the first storage virtualization controller (SVC 1 ) ( 10 ) after sending a query signal to the first storage virtualization controller (SVC 1 ) ( 10 ), the second storage virtualization controller (SVC 2 ) ( 20 ) generates and sends the reset signal to the physical storage device controller (PSD controller) ( 81 ) to notify the physical storage device controller (PSD controller) ( 81 ) of setting up the second storage virtualization controller (SVC 2 ) ( 20 ) as the primary controller of the physical storage device (PSD) ( 9 ), and the physical storage device controller (PSD controller) ( 81 ) generates the second selection signal based on the reset signal to control the selector ( 83 ) to select data and signals from the second storage virtualization controller (SVC 2 ) ( 20 ).

6. The data access interface unit ( 8 ) of claim 3 , wherein when the physical storage device controller (PSD controller) ( 81 ) performs the data flow switching procedure, the physical storage device (PSD) ( 9 ) continues executing the at least one I/O request from the first storage virtualization controller (SVC 1 ) ( 10 ) based on the dedicated clock signal provided by the clock generation circuit ( 85 ).

7. The data access interface unit ( 8 ) of claim 3 , wherein when the physical storage device controller (PSD controller) ( 81 ) performs the data flow switching procedure, the physical storage device (PSD) ( 9 ) temporarily suspends the execution of the at least one I/O request from the first storage virtualization controller (SVC 1 ) ( 10 ).

8. The data access interface unit ( 8 ) of claim 1 , wherein the clock generation circuit ( 85 ) provides the dedicated clock signal to the physical storage device (PSD) ( 9 ) in a one-to-one manner.

9. The data access interface unit ( 8 ) of claim 1 , wherein the first storage virtualization controller (SVC 1 ) ( 10 ) and the second storage virtualization controller (SVC 2 ) ( 20 ) do not require additional circuit components to assist in directing their clock signals to the physical storage device (PSD) ( 9 ).

10. A data access method implemented to a redundant array of independent disks subsystem (RAID subsystem) ( 4 A, 4 B, 4 C), where the RAID subsystem ( 4 A, 4 B, 4 C) comprises a storage virtualization controller pair (SVC pair) ( 10 , 20 ), a physical storage device (PSD) ( 9 ), and a data access interface unit ( 8 ) serving as an intermediary between the storage virtualization controller pair (SVC pair) ( 10 , 20 ) and the physical storage device (PSD) ( 9 ), in which the data access interface unit ( 8 ) comprises a physical storage device controller (PSD controller) ( 81 ), a selector ( 83 ), and a clock generation circuit ( 85 ), and the storage virtualization controller pair (SVC pair) ( 10 , 20 ) comprises a first storage virtualization controller (SVC 1 ) ( 10 ) and a second storage virtualization controller (SVC 2 ) ( 20 ), the data access method comprising steps of:

coupling the data access interface unit ( 8 ) between the storage virtualization controller pair (SVC pair) ( 10 , 20 ) and the physical storage device (PSD) ( 9 );

sending, by the physical storage device controller (PSD controller) ( 81 ), a notification signal to the first storage virtualization controller (SVC 1 ) ( 10 ) acting as a primary controller, to notify the first storage virtualization controller (SVC 1 ) ( 10 ) that the physical storage device (PSD) ( 9 ) is available for use, after detecting the coupling with the physical storage device (PSD) ( 9 );

receiving, by the physical storage device controller (PSD controller) ( 81 ), a first control signal from the first storage virtualization controller (SVC 1 ) ( 10 ), generating a first selection signal accordingly, and sending it to the selector ( 83 );

receiving, by the selector ( 83 ), the first selection signal and, based on the first selection signal, routing data and signals along a path between the first storage virtualization controller (SVC 1 ) ( 10 ) and the physical storage device (PSD) ( 9 ), so that the first storage virtualization controller (SVC 1 ) ( 10 ) acts as the primary controller for the physical storage device (PSD) ( 9 );

providing, by the clock generation circuit ( 85 ), a dedicated clock signal to the physical storage device (PSD) ( 9 ); and

processing, by the physical storage device (PSD) ( 9 ), at least one input/output (I/O) request from the first storage virtualization controller (SVC 1 ) ( 10 ) based on the dedicated clock signal provided by the clock generation circuit ( 85 );

receiving, by the physical storage device controller (PSD controller) ( 81 ), a reset signal from the second storage virtualization controller (SVC 2 ) ( 20 ), and based on the reset signal, the physical storage device controller (PSD controller) ( 81 ) initiates a data flow switching procedure to change the primary controller of the physical storage device (PSD) ( 9 ) from the first storage virtualization controller (SVC 1 ) ( 10 ) to the second storage virtualization controller (SVC 2 ) ( 20 ), and the data flow switching procedure includes generating a second selection signal to control the selector ( 83 ) to route data and signals along a path between the second storage virtualization controller (SVC 2 ) ( 20 ) and the physical storage device (PSD) ( 9 ).

11. The data access method of claim 10 , wherein the data access interface unit ( 8 ) is installed on a backplane ( 401 ), and the data access interface unit ( 8 ) is coupled to the storage virtualization controller pair (SVC pair) ( 10 , 20 ) and the physical storage device (PSD) ( 9 ) via the backplane ( 401 ).

12. The data access method of claim 10 , wherein if the second storage virtualization controller (SVC 2 ) ( 20 ) does not receive a confirmation signal from the first storage virtualization controller (SVC 1 ) ( 10 ) within a first time interval, the second storage virtualization controller (SVC 2 ) ( 20 ) generates and sends the reset signal to the physical storage device controller (PSD controller) ( 81 ) to notify the physical storage device controller (PSD controller) ( 81 ) of setting up the second storage virtualization controller (SVC 2 ) ( 20 ) as the primary controller of the physical storage device (PSD) ( 9 ), and the physical storage device controller (PSD controller) ( 81 ) generates the second selection signal based on the reset signal to control the selector ( 83 ) to select data and signals from the second storage virtualization controller (SVC 2 ) ( 20 ).

13. The data access method of claim 10 , wherein if the second storage virtualization controller (SVC 2 ) ( 20 ) does not receive a response signal from the first storage virtualization controller (SVC 1 ) ( 10 ) after sending a query signal to the first storage virtualization controller (SVC 1 ) ( 10 ), the second storage virtualization controller ( 20 ) generates and sends the reset signal to the physical storage device controller (PSD controller) ( 81 ) to notify the physical storage device controller (PSD controller) ( 81 ) of setting up the second storage virtualization controller (SVC 2 ) ( 20 ) as the primary controller of the physical storage device (PSD) ( 9 ), and the physical storage device controller (PSD controller) ( 81 ) generates the second selection signal based on the reset signal to control the selector ( 83 ) to select data and signals from the second storage virtualization controller (SVC 2 ) ( 20 ).

14. The data access method of claim 10 , wherein when the physical storage device controller (PSD controller) ( 81 ) performs the data flow switching procedure, the physical storage device (PSD) ( 9 ) continues executing the at least one I/O request from the first storage virtualization controller (SVC 1 ) ( 10 ) based on the dedicated clock signal provided by the clock generation circuit ( 85 ).

15. The data access method of claim 10 , wherein when the physical storage device controller (PSD controller) ( 81 ) performs the data flow switching procedure, the physical storage device (PSD) ( 9 ) temporarily suspends the execution of the at least one I/O request from the first storage virtualization controller (SVC 1 ) ( 10 ).

16. The data access method of claim 10 , wherein the clock generation circuit ( 85 ) provides the dedicated clock signal to the physical storage device (PSD) ( 9 ) in a one-to-one manner.

17. The data access method of claim 10 , wherein the first storage virtualization controller (SVC 1 ) ( 10 ) and the second storage virtualization controller (SVC 2 ) ( 20 ) do not require additional circuit components to assist in directing their clock signals to the physical storage device (PSD) ( 9 ).

18. A data access method implemented to a redundant array of independent disks subsystem (RAID subsystem) ( 4 A, 4 B, 4 C), where the RAID subsystem ( 4 A, 4 B, 4 C) comprises a storage virtualization controller pair (SVC pair) ( 10 , 20 ), a physical storage device (PSD) ( 9 ), and a data access interface unit ( 8 ) serving as an intermediary between the storage virtualization controller pair (SVC pair) ( 10 , 20 ) and the physical storage device (PSD) ( 9 ), in which the data access interface unit ( 8 ) comprises a physical storage device controller (PSD controller) ( 81 ), a selector ( 83 ), and a clock generation circuit ( 85 ), and the storage virtualization controller pair (SVC pair) ( 10 , 20 ) comprises a first storage virtualization controller (SVC 1 ) ( 10 ) and a second storage virtualization controller (SVC 2 ) ( 20 ), the data access method comprising steps of:

coupling the data access interface unit ( 8 ) between the storage virtualization controller pair (SVC pair) ( 10 , 20 ) and the physical storage device (PSD) ( 9 );

setting up the first storage virtualization controller (SVC 1 ) ( 10 ) as a primary controller of the physical storage device (PSD) ( 9 );

processing, by the physical storage device (PSD) ( 9 ), at least one first input/output (I/O) request from the first storage virtualization controller (SVC 1 ) ( 10 ) based on a dedicated clock signal provided by the clock generation circuit ( 85 );

sending, by the second storage virtualization controller (SVC 2 ) ( 20 ), a reset signal to the physical storage device controller (PSD controller) ( 81 ) of the data access interface unit ( 8 ), to set up the second storage virtualization controller (SVC 2 ) ( 20 ) as the primary controller of the physical storage device (PSD) ( 9 );

generating, by the physical storage device controller (PSD controller) ( 81 ), a selection signal based on the reset signal and sending the selection signal to the selector ( 83 ) to control the selector ( 83 ) to route data and signals along a path between the second storage virtualization controller (SVC 2 ) ( 20 ) and the physical storage device (PSD) ( 9 ) according to the selection signal; and

processing, by the physical storage device (PSD) ( 9 ), at least one second input/output (I/O) request from the second storage virtualization controller (SVC 2 ) ( 20 ) based on the dedicated clock signal provided by the clock generation circuit ( 85 );

wherein, during a process of switching the primary controller of the physical storage device (PSD) ( 9 ) from the first storage virtualization controller (SVC 1 ) ( 10 ) to the second storage virtualization controller (SVC 2 ) ( 20 ), the physical storage device (PSD) ( 9 ) processes the at least one first input/output (I/O) request according to the dedicated clock signal provided by the clock generation circuit ( 85 ).

19. The data access method of claim 18 , wherein the data access interface unit ( 8 ) is installed on a backplane ( 401 ), and the data access interface unit ( 8 ) is coupled to the storage virtualization controller pair (SVC pair) ( 10 , 20 ) and the physical storage device (PSD) ( 9 ) via the backplane ( 401 ).

20. The data access method of claim 18 , wherein the step of sending, by the second storage virtualization controller (SVC 2 ) ( 20 ), the reset signal to the physical storage device controller (PSD controller) ( 81 ) of the data access interface unit ( 8 ) further comprises:

generating and sending the reset signal to the physical storage device controller (PSD controller) ( 81 ) by the second storage virtualization controller (SVC 2 ) ( 20 ) when the second storage virtualization controller (SVC 2 ) ( 20 ) does not receive a confirmation signal from the first storage virtualization controller (SVC 1 ) ( 10 ) after a first time interval.

21. The data access method of claim 18 , wherein the step of sending, by the second storage virtualization controller (SVC 2 ) ( 20 ), the reset signal to the physical storage device controller (PSD controller) ( 81 ) in the data access interface unit ( 8 ) further comprises:

generating and sending the reset signal to the physical storage device controller (PSD controller) ( 81 ) by the second storage virtualization controller (SVC 2 ) ( 20 ) when the second storage virtualization controller (SVC 2 ) ( 20 ) does not receive a response signal from the first storage virtualization controller (SVC 1 ) ( 10 ) after sending a query signal to the first storage virtualization controller (SVC 1 ) ( 10 ).

22. The data access method of claim 18 , wherein the clock generation circuit ( 85 ) provides the dedicated clock signal to the physical storage device (PSD) ( 9 ) in a one-to-one manner.

23. The data access method of claim 18 , wherein the first storage virtualization controller (SVC 1 ) ( 10 ) and the second storage virtualization controller (SVC 2 ) ( 20 ) do not require additional circuit components to assist in directing their clock signals to the physical storage device (PSD) ( 9 ).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2023
From: WU, YEN-CHEN; LIN, YING-WEN; HSIAO, CHIH-MIN
To: INFORTREND TECHNOLOGY, INC.
Reel/Frame 065641/0986 →
Continuity (2)
Provisional Application 63447869 · Feb 23, 2023
Related Publication 20240311050A1 · Sep 19, 2024
References Cited (2)
US 20050005062A1 · Liu · 2005 [cited by examiner]
US 20180232142A1 · Shekar · 2018 [cited by examiner]