Internal means that only classes within the same assembly can access that member
Protected means the member can only be accessed by a deriving type (child class accessing a super class).
Protected internal is a combonation of both of them. It can only be accessed within the same assembly and it can only be accessed as a child class.
More simply:
'protected internal' means 'protected or internal' - this means that it can be accessed within the same assembly or by a deriving type.