Disk control system using identification codes for retrieving related data for storage in a read ahead cache
Abstract
In accordance with a write request from a host system in a direction of incrementing an address, a controller generates the same writing code and writes the writing code with ID information of each sector in a hard disk drive unit. Even when a series of related data are written on a plurality of sectors having non-sequential addresses, the same writing code is written in the ID information of each sector as far as the values of the sector addresses to be written change in the direction of incrementing the address. When the sector data is read ahead and registered in a read ahead cache in accordance with a data read request from the host system, a series of related sector data are registered in the read ahead cache on the basis of the writing code.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A disk control system connected to a host system, comprising: memory means used as a secondary memory of said host system; a read ahead cache for storing a copy of part of sector data stored in said memory means, said read ahead cache being accessible at a higher speed than said memory means; a first register for storing an identification code; a second register for storing a sector address; writing means for, in accordance with a write request with a sector address from said host system, comparing the sector address of the write request with the sector address in said second register, controlling the identification code stored in said first register in accordance with a result of the comparison, and writing data along with the identification code stored in said first register into said memory means after the comparison; means for, in accordance with a read request with a sector address from said host system, supplying data to said host system when the read request data is stored in said read ahead cache; and read ahead means for, in accordance with the read request from said host system, reading out the read request data from said memory means to supply the read request data to said host system when the read request data is not stored in said read ahead cache, and reading out additional data having an identification code equal to an identification code stored with the read request data from said memory means in a predetermined direction by changing a sector address from the sector address of the read request data, to store the additional read out data in said read ahead cache, an amount of additional data read out from said memory means corresponding to a predetermined number of sectors.
2. A system according to claim 1, wherein said memory means includes a hard disk.
3. A system according to claim 1, wherein said memory means includes a flash EEPROM (electrically erasable and programmable read only memory).
4. A system according to claim 2, wherein said read ahead means includes: reading means for reading out an identification code stored with additional data corresponding to a sector address in the predetermined direction from the sector address of the read request data; means for storing additional data corresponding to the read identification code in said read ahead cache when the read out identification code is equal to the identification code of the read request data; and means for disabling said reading means after said reading means is repeatedly executed a predetermined number of times.
5. A system according to claim 1, wherein the predetermined direction includes a direction of incrementing an address.
6. A disk control system connected to a host system comprising: memory means used as a secondary memory of said host system; a read ahead cache for holding a copy of part of sector data stored in said memory means, said read ahead cache being accessible at a higher speed than said memory means, the part of sector data corresponding to an amount of data equal to a sum of a first sector number and a second sector number; a first register for storing an identification code; a second register for storing a sector address; writing means for, in accordance with a write request with a sector address from said host system, comparing the sector address of the write request with the sector address in said second register, controlling the identification code stored in said first register in accordance with a result of the comparison, and writing data along with the identification code stored in said first register into the memory means after the comparison; means for, in accordance with a read request with a sector address from said host system, supplying data to said host system when the read request data is stored in said read ahead cache; first read ahead means for, in accordance with the read request from said host system, reading out the read request data from said memory means to supply the data to said host system when the read request data is not stored in said read ahead cache, and reading out a predetermined number of additional data equal to the first sector number from said memory means in a predetermined direction from the sector address of the read request data to store the additional read out data in said read ahead cache; and second read ahead means for, in accordance with the read request from said host system, reading out additional data having an identification code equal to an identification code stored with the read request data from said memory means in the predetermined direction to store the additional read out data in said read ahead cache, an amount of additional read out data corresponding to the second sector number.
7. A system according to claim 6, wherein said memory means including a hard disk.
8. A system according to claim 6, wherein said memory means includes a flash EEPROM (electrically erasable and programmable read only memory.
9. A system according to claim 6, wherein the predetermined direction includes a direction of incrementing an address.
10. A system according to claim 6, wherein said second sector number is obtained by subtracting the first sector number from a maximum number of sector data to be stored in said read ahead cache.
11. A control method applied to a disk control system having a memory connected to a host system which is used as a secondary memory of said host system, a first register for storing an identification code, a second register for storing a sector address, and a read ahead cache for holding a copy of part of data stored in said memory, the method comprising the steps of: comparing, in response to a write request with a sector address from said host system, the sector address of the write request with the sector address stored in said second register; controlling the identification code stored in said first register in accordance with a result of the comparison by said comparing step; writing data along with the identification code stored in said first register into said memory after the comparison by said comparing step; searching, in response to a read request from said host system, the read ahead cache for data corresponding to said read request; retrieving the read request data from said memory to supply the read request data to said host system when the read request data is not stored in said read ahead cache; and retrieving additional data having an identification code equal to an identification code stored with the read request data from said memory in a predetermined direction by changing a sector address from a sector address of the read request data to store the additional data in said read ahead cache.
12. A method according to claim 11, wherein said memory includes a hard disk drive.
13. A method according to claim 11, wherein said memory includes a flash EEPROM (electrically erasable and programmable read only memory).
14. A method according to claim 11, wherein the predetermined direction includes a direction of incrementing an address.
15. A method according to claim 11, wherein said retrieving step includes the steps of: sequentially retrieving a predetermined number of additional data subsequent to the sector address of the read request data in the predetermined direction, and searching a sector subsequent to a sector address of a sector finally retrieved in said sequentially retrieving step.
16. A method according to claim 15, wherein said retrieving step further includes the step of retrieving additional data having a same identification code as the identification code of the read request data in an amount obtained by subtracting the predetermined number from a maximum number of sectors to be stored in said read ahead cache.
17. A method according to claim 16, wherein said searching step includes the step of searching a predetermined number of sectors.
18. A method according to claim 11, wherein said controlling step changes the identification code stored in said first register when the sector address stored in said second register is larger than the sector address of the write request.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.