US 7,594,060 B2
Data buffer allocation in a non-blocking data services platform using input/output switching fabric
Andrew W. Wilson, Fremont, Calif. (US); John Acton, Danville, Calif. (US); Charles Binford, Wichita, Kans. (US); Daniel R. Cassiday, Topsfield, Mass. (US); and Raymond J. Lanza, Nashua, N.H. (US)
Assigned to Sun Microsystems, Inc., Santa Clara, Calif. (US)
Filed on Aug. 23, 2006, as Appl. No. 11/466,726.
Prior Publication US 2008/0052432 A1, Feb. 28, 2008
Int. Cl. G06F 13/00 (2006.01)
U.S. Cl. 710—316  [710/305; 710/306; 710/317; 712/225; 712/11] 20 Claims
OG exemplary drawing
 
1. A computer implemented method for balancing a plurality of data transfers between at least one host and at least one storage device coupled together via a switching fabric, wherein each data transfer comprises data control information and data, the method comprising:
separating from each data transfer, the data control information from the data;
storing the data temporarily in at least one of a plurality of shared microprocessor complexes, wherein the plurality of microprocessor complexes are each associated with a plurality of data buffers, the data being stored in at least one of the plurality of data buffers; and
establishing a virtualization service on at least one of the plurality of shared microprocessor complexes, wherein the virtualization service allocates processing of data control information to at least one of the plurality of shared microprocessor complexes, wherein in at least a portion of the data transfers, the at least one microprocessor complex processing data control information and the at least one microprocessor complex temporarily storing the data are not the same microprocessor complex.