There is no special data type for submatrix ports. As for matrices the *_MATRIX_ENV types are used. Each of these types is implemented by a subclass of Particle: IntMatrixParticle, FloatMatrixParticle, FixMatrixParticle and ComplexMatrixParticle.
These particle classes exist only for setting up the portholes and performing type-checking. They are never created or passed around during a simulation. Instead, submatrices are created and destroyed by the MDSDF kernel and the primitives as described above.