Data preloading method and system for using a buffer
First Claim
1. A data transfer method using a controller with a buffer, a processing device and an external storage device which is connected to said controller, said controller making control operations comprising the steps of:
- (a) receiving from said processing device a read request Ri to read said external storage device and a preload request Pi+1 which specifies a non-successive extent of said external storage device to be preloaded to said buffer, associated with a read request Ri+1 which is to be next received by the external storage device from said processing device after said read request Ri,wherein when the preload extent of said preload request Pi+1 is part of a reading extent of said preload request Ri+1, the method comprising the sub steps of;
(a1) subtracting the preloading extent of said preload request Pi+1 from the extent of said next read request Ri+1 to form a remaining extent, letting the remaining extent be the extent of next remaining read request Qi+1 for reading the part of Ri+1 which is not included in Pi+1 and supplying said next remaining read request Qi+1 from said controller to said external storage device,(a2) reserving said buffer to supply the preload data to said processing device associated with said next remaining read request Qi+1,(a3) supplying said next remaining read request Qi+1 to said external storage device,(a4) receiving data in the remaining extent associated with said next remaining read request Qi+1 from said external storage device; and
,(a5) supplying the preload data in the remaining extent associated with Qi+1 to said processing device;
(b) supplying said read request Ri to said external storage device;
(c) receiving request data from said external storage device associated with said read request Ri;
(d) supplying the request data to said processing device associated with said read request Ri;
(e) reserving said buffer to retrieve preload data associated with said preload request Pi+1 for supplying to said processing device;
(f) supplying said preload request Pi+1 to said external storage device;
(g) receiving the preload data from said external storage device;
(h) storing the preload data in said buffer;
(i) receiving said next read request Ri+1 from said processing device; and
(j) supplying the preload data stored in said buffer to said processing device in response to said next read request Ri+1 received from said processing device.
0 Assignments
0 Petitions
Accused Products
Abstract
A controller with a buffer is provided between a main memory and an external storage. This controller supplies a given request for access to the external storage and issues a preload request for a retrieval extent of the next access request by the time when data associated with this first access request is completely transferred to the buffer memory or to the main memory. Moreover, the controller stores the preloaded data in the buffer and, for the next access request, it transfers the data stored in the buffer to the main memory. Therefore, even when the host side (CPU) is processing, the access to the external storage can be made simultaneously, thus the response time and the operating ratio of the computer system being improved.
-
Citations
3 Claims
-
1. A data transfer method using a controller with a buffer, a processing device and an external storage device which is connected to said controller, said controller making control operations comprising the steps of:
-
(a) receiving from said processing device a read request Ri to read said external storage device and a preload request Pi+1 which specifies a non-successive extent of said external storage device to be preloaded to said buffer, associated with a read request Ri+1 which is to be next received by the external storage device from said processing device after said read request Ri, wherein when the preload extent of said preload request Pi+1 is part of a reading extent of said preload request Ri+1, the method comprising the sub steps of; (a1) subtracting the preloading extent of said preload request Pi+1 from the extent of said next read request Ri+1 to form a remaining extent, letting the remaining extent be the extent of next remaining read request Qi+1 for reading the part of Ri+1 which is not included in Pi+1 and supplying said next remaining read request Qi+1 from said controller to said external storage device, (a2) reserving said buffer to supply the preload data to said processing device associated with said next remaining read request Qi+1, (a3) supplying said next remaining read request Qi+1 to said external storage device, (a4) receiving data in the remaining extent associated with said next remaining read request Qi+1 from said external storage device; and
,(a5) supplying the preload data in the remaining extent associated with Qi+1 to said processing device; (b) supplying said read request Ri to said external storage device; (c) receiving request data from said external storage device associated with said read request Ri; (d) supplying the request data to said processing device associated with said read request Ri; (e) reserving said buffer to retrieve preload data associated with said preload request Pi+1 for supplying to said processing device; (f) supplying said preload request Pi+1 to said external storage device; (g) receiving the preload data from said external storage device; (h) storing the preload data in said buffer; (i) receiving said next read request Ri+1 from said processing device; and (j) supplying the preload data stored in said buffer to said processing device in response to said next read request Ri+1 received from said processing device. - View Dependent Claims (2)
-
-
3. A data transfer method using a controller with a buffer, a processing device and an external storage device which is connected to said controller, said controller making control operations comprising the steps of:
-
(a) receiving from said processing device a read request Ri to read said external storage device and a preload request Pi+1 which specifies a non-successive extent of said external storage device to be preloaded to said buffer, associated with a read request Ri+1 which is to be next received by the external storage device from said processing device after said read request Ri; (b) supplying said read request Ri to said external storage device; (c) receiving request data from said external storage device associated with said read request Ri; (d) supplying the request data to said processing device associated with said read request Ri; (e) receiving said buffer to retrieve preload data associated with said preload request Pi+1 for supplying to said processing device; (f) supplying said preload request Pi+1 to said external storage device; (g) receiving the preload data from said external storage device; (h) storing the preload data in said buffer; (i) receiving said next read request Ri+1 from said processing storage device; and
,(j) supplying the preload data stored in said buffer to said processing device in response to said next read request Ri+1 received from said processing device, wherein said step (i) is carried out before said steps (g) and (h) are completed.
-
Specification