The present disclosure relates to conflicting deadlines of requests from applications accessing a disk drive, and, more particularly, to handling of conflicting deadlines of requests from applications accessing a disk drive, thereby improving the performance of the disk drive.
The advantages and features of the present disclosure will become better understood with reference to the following detailed description and claims taken in conjunction with the accompanying drawings, wherein like elements are identified with like symbols, and in which:
Like reference numerals refer to like parts throughout the description of several views of the drawings.
For a thorough understanding of the present disclosure, refer to the following detailed description, including the appended claims, in connection with the above-described drawings. Although the present disclosure is described in connection with exemplary embodiments, the disclosure is not intended to be limited to the specific forms set forth herein. It is understood that various omissions and substitutions of equivalents are contemplated as circumstances may suggest or render expedient, but these are intended to cover the application or implementation without departing from the spirit or scope of the claims of the present disclosure. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting.
The terms “first,” “second,” and the like, herein do not denote any order, quantity, or importance, but rather are used to distinguish one element from another, and the terms “a” and “an” herein do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced item.
The block 106 illustrates a subsequent request, the subsequent request 106 being sent by another application for accessing the data on the disk drive. The subsequent request 106 can be for the same data on the disk drive as being requested by the first application or another data on the disk drive. The block 108 represents a deadline for serving the subsequent request 106. The deadline for serving the subsequent request 106 comprises a seek time (represented by block 114) for seeking the data by the subsequent request 106 and a transfer time (represented by block 116) for transferring the data from the disk drive.
In the traditional scheduling method, in case of a conflicting deadline, as shown in
In the proposed scheduling method, i.e., in the method provided by the present disclosure, the disk drive has the physical information to make an estimate about the time taken for serving the first request 102 and the subsequent request 106. More specifically, the disk drive has physical information for serving the seek time 110 and the transfer time 112 of the first request, and the seek time 114 and the transfer time 116 of the subsequent request 106. Further, the source, for example, the application, does not have the information whether the deadline can be met or not. Once the disk drive checks that there is a potential deadline conflict as described above with reference to the first request 102 and the subsequent request 106, the disk drive determines the deadline for serving the first request 102 and the deadline for serving the subsequent request 106 and schedules the first request 102 prior to an actual schedule and serves the first request 102. The actual schedule is the schedule followed by the traditional methods. The subsequent request 106 is scheduled and served after the first request 102 is served, thereby handling the conflicting deadlines.
The disclosure provides an isochronous extension to a Serial Advanced Technology Attachment (SATA) Standard protocol for improved disk performance for media. Additionally, the disclosure provides a solution for handling conflicting deadlines in an environment having a distributed control and an isolated knowledge. The distributed control and the isolated knowledge in the Personal Computer (PC) environment results in an increase in control of a platform.
As used in any embodiment herein, an “integrated circuit” means a semiconductor device and/or microelectronic device, such as, for example, a semiconductor integrated circuit chip. As described above, the embodiments of the disclosure may be in the form of computer-implemented processes and apparatuses for practicing those processes. Embodiments of the disclosure may also be in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the disclosure. The present disclosure can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the disclosure. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
The foregoing descriptions of specific embodiments of the present disclosure have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the disclosure to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the disclosure and its practical application, to thereby enable others skilled in the art to best utilize the disclosure and various embodiments with various modifications as are suited to the particular use contemplated. It is understood that various omission and substitutions of equivalents are contemplated as circumstance may suggest or render expedient, but such are intended to cover the application or implementation without departing from the spirit or scope of the claims of the present disclosure.