An apparatus comprising a first circuit and a second circuit. The first circuit may be configured to generate a plurality of intermediate signals in response to a plurality of input/output requests. The second circuit may be configured to generate a plurality of processed input/output requests in response to the plurality of input/output requests. The processed input/output requests may be configured to be processed by a drive controller to access a drive array in accordance with a protocol used to process the input/output requests.
Legal claims defining the scope of protection, as filed with the USPTO.
1. An apparatus comprising: a first circuit configured to generate a plurality of intermediate signals in response to a plurality of input/output requests received using a file-level protocol, wherein said first circuit operates as a first virtual machine connected to a network; and a second circuit configured to generate a plurality of processed input/output requests using a block-level protocol in response to said plurality of intermediate signals, wherein (A) said second circuit acts as a second virtual machine connected to a drive array and (B) said processed input/output requests are configured to be processed by a drive controller to access said drive array in a redundant arrays of independent disks (RAID) configuration, said drive array configured to respond to said input/output requests in said block-level protocol from said second circuit, and (C) said plurality of processed input/output requests are configured to avoid a deadlock condition when two or more input/output requests are made to said drive controller.
2. The apparatus according to claim 1 , wherein said plurality of processed input/output requests include an identifier configured to monitor how long a particular processed input/output request is pending.
3. The apparatus according to claim 1 , wherein said plurality of input/output requests are received from a plurality of host computers.
4. The apparatus according to claim 3 , wherein said second circuit performs a priority calculation between input/output requests received by a first of said host computers and input/output requests received by a second of said host computers.
5. The apparatus according to claim 4 , wherein said apparatus reduces the number of retries when processing said input/output requests.
6. The apparatus according to claim 4 , wherein said apparatus reduces the number of packet delays when processing said input/output requests.
7. The apparatus according to claim 4 , wherein said apparatus reduces the number of packet losses when processing said input/output requests.
8. The apparatus according to claim 4 , wherein said drive array comprises a networked attached storage (NAS) device.
9. The apparatus according to claim 4 , wherein said drive array comprises a storage area network (SAS) device.
10. An apparatus comprising: means for generating a plurality of intermediate signals in response to a plurality of input/output requests received using a file-level protocol operating as a first virtual machine connected to a network; and means for generating a plurality of processed input/output requests received using a block-level protocol in response to said plurality of intermediate signals, wherein (A) said means for generating said processed input/output requests acts as a second virtual machine connected to a drive array and (B) said processed input/output requests are configured to be processed by a drive controller to access said drive array in a redundant arrays of independent disks (RAID) configuration, said drive array configured to respond to said input/output requests in said block-level protocol and (C) said plurality of processed input/output requests are configured to avoid a deadlock condition when two or more input/output requests are made to said drive controller.
11. A method for managing input/output performance in a storage area network, comprising the steps of: generating a plurality of intermediate signals in response to a plurality of intermediate signals received using a file-level protocol operating as a first virtual machines connected to a network; and generating a plurality of processed input/output requests received using a block-level protocol in response to said plurality of input/output requests, wherein (A) said block-level protocol acts as a second virtual machine connected to a drive array and (B) said processed input/output requests are configured to be processed by a drive controller to access said drive array in a redundant arrays of independent disks (RAID), said drive array configured to respond to said input/output requests in said block-level protocol and (C) said plurality of processed input/output requests are configured to avoid a deadlock condition when two or more input/output requests are made to said drive controller.
12. The apparatus according to claim 4 , wherein said priority calculation avoids said deadlock condition between a first of said host computers and a second of said host computers.
13. The apparatus according to claim 1 , wherein said plurality of intermediate signals received from said first circuit are used by said second circuit to generate said plurality of processed input/output requests.
14. The apparatus according to claim 1 , wherein said apparatus comprises a plurality of said first circuits and a plurality of said second circuits, wherein each of said first circuits accesses said network and each of said second circuits accesses said drive array.
15. The apparatus according to claim 1 , wherein said apparatus acts as a translator between the file-level protocol and the block-level protocol.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 13, 2011
August 26, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.