Claims
- 1. A system, comprising:
an I/O module for processing I/O requests from a host system; a virtualized storage element including:
a plurality of physical storage locations; and a mapping table for translating virtual storage locations into the physical storage locations; and a communication medium coupling the I/O module to the virtualized storage elements, wherein the virtualized storage element is operable to generate base virtual addresses using the mapping table to communicate the base virtual addresses to the I/O module, wherein the I/O module is operable to generate specific virtual addresses using the base virtual addresses and using information derived from the I/O requests, and wherein the I/O module uses the specific virtual addresses in communication with the virtualized storage element to identify the physical storage locations in the virtualized storage element.
- 2. The system of claim 1, wherein the communication medium includes a storage communication switching fabric for transferring the I/O requests between the host system and the physical storage locations using the specific virtual addresses.
- 3. The system of claim 1, wherein the I/O module is operably configured within the host system.
- 4. The system of claim 1, wherein the I/O module is operably configured within the virtualized storage element.
- 5. The system of claim 1, wherein each of a portion of the base virtual addresses includes a proper subset of the mapping tables for indirect access to the physical storage locations.
- 6. The system of claim 1, wherein the base virtual addresses include indicators to alert the I/O module to a type of addressing, wherein the addressing is direct or indirect.
- 7. A method for handling I/O requests from a host system to a storage system, including steps of:
translating virtual storage locations into physical storage locations with a mapping table to generate base virtual addresses; generating specific virtual addresses from the base virtual addresses and from information derived from the I/O requests; and processing the I/O requests from the host system using the specific virtual addresses to identify the physical storage locations.
- 8. The method of claim 7, further including a step of transferring the I/O requests between the host system and the physical storage locations using the specific virtual addresses.
- 9. The method of claim 7, further including a step of receiving the I/O requests from the host system.
- 10. The method of claim 7, wherein the step of generating the specific virtual addresses includes a step of determining offsets of the base virtual addresses.
- 11. The method of claim 7, further including a step of transferring data from or to the physical storage locations depending on the information derived from the I/O requests.
- 12. The method of claim 7, wherein the step of processing includes a step of determining the physical storage locations by processing offsets of the specific virtual addresses.
- 13. The method of claim 12, wherein the step of determining includes steps of:
dividing each of a portion of the offsets by a size of storage space to be accessed to locate a map address, wherein the step of dividing produces a quotient and a remainder; and adding the remainder to the map address to determine a certain physical storage location.
- 14. A system for handling I/O requests from a host system to a storage system, including:
means for translating virtual storage locations into physical storage locations with a mapping table to generate base virtual addresses; means for generating specific virtual addresses from the base virtual addresses and from information derived from the I/O requests; and means for processing the I/O requests from the host system using the specific virtual addresses to identify the physical storage locations.
- 15. The system of claim 14, further including means for transferring the I/O requests between the host system and the physical storage locations using the specific virtual addresses.
- 16. The system of claim 14, further including means for receiving the I/O requests from the host system.
- 17. The system of claim 14, wherein the means for generating the specific virtual addresses includes means for determining offsets of the base virtual addresses.
- 18. The system of claim 14, further including means for transferring data from or to the physical storage locations depending on the information derived from the I/O requests.
- 19. The system of claim 14, wherein the means for processing includes means for determining the physical storage locations by processing offsets of the specific virtual addresses.
- 20. The method of claim 19, wherein the means for determining includes:
means for dividing each of a portion of the offsets by a size of storage space to be accessed to locate a map address, wherein the step of dividing produces a quotient and a remainder; and means for adding the remainder to the map address to determine a certain physical storage location.
- 21. The system of claim 14, wherein each of a portion of the base virtual addresses includes a proper subset of the mapping tables for indirect mapping.
- 22. The system of claim 14, wherein each of the base virtual addresses includes an interface identifier field used to indicate an interface type that transfers the I/O requests.
RELATED PATENTS
[0001] This patent application is related to co-pending, commonly owned U.S. patent Application Ser. No. 02-5573, entitled METHODS AND STRUCTURE FOR READ PREFETCH IN A STORAGE COMPLEX ARCHITECTURE, filed the same day which is hereby incorporated by reference and is referred to herein as the “related patent.”