1. A memory controller, comprising: a request queue that stores requests provided by an external device; a scheduler that calculates a score for each of the requests stored in the request queue and determines a processing order of the requests based on the scores for the requests; and a weight generation circuit that generates a weight vector including weights used to calculate the scores.