US Patent No. 10,338,813

STORAGE CONTROLLER AND USING METHOD THEREFOR


Patent No. 10,338,813
Issue Date July 02, 2019
Title Storage Controller And Using Method Therefor
Inventorship Hua Nie, Beijing (CN)
Xiaojun Yang, Beijing (CN)
Yalu Ni, Beijing (CN)
Assignee Dawning Cloud Computing Group Co., Ltd, Beijing (CN) Dawning Information I...

Claim of US Patent No. 10,338,813

1. A method for using a storage controller, the method comprising:receiving, by processor controllers, storage instructions sent by corresponding processors, and sending, by the processor controllers, the storage instructions to an exchanger;
sending, by the exchanger, the storage instructions to a hard disk controller one by one; and
indicating, by the hard disk controller, storage address spaces in the storage instructions when receiving the storage instructions from the exchanger, and then sending, by the hard disk controller, the storage instructions to a hard disk, wherein the indicated address spaces are address spaces allocated to the processors that are sending the storage instructions;
wherein the exchanger arbitrates the storage instructions according to the storage instructions and a Matrix Arbiter algorithm when sending the storage instructions to the hard disk controller one by one, and then sends the storage instructions to the hard disk controllers one by one according to arbitration results;
after the exchanger arbitrates the storage instructions, the method further comprises:
updating arbitration matrixes in the Matrix Arbiter algorithm;
reading first frames sent from the processor controllers;
determining whether the first frames are PIO Data In instructions, if yes, enabling the storage instructions to enter a PIOSetupFIS state after forwarding is completed, or if not, enabling the storage instructions to enter a RegFIS state;
waiting for a Register FIS-Device to Host frame for the storage instructions in the RegFIS state, and enabling the storage instructions to return to an initial state after the frame is received and the receiving is completed;
completing reception of a last frame of the storage instructions in the PIOSetupFIS state, and enabling the storage instructions to enter a DataFIS state if BSY and DRO bits in an E STATUS field of the last frame are both 0; and
enabling the storage instructions to return to the initial state after the last frame receiving for the storage instructions in the DataFIS state is completed, wherein, in the process of returning to the initial state, reception of SATA instructions sent by a plurality of processors is started, and next arbitration is performed.