Cache memory transfer during a requested data retrieval operation
Summary by NHIP
Concurrent Cache and Host Transfers
The method executes a cache-only data transfer during the latency period of a host data transfer command. This latency period combines seek latency, rotation latency, data transfer latency, and overhead time calculated for stopping and transitioning the storage apparatus.
Claim Score by NHIP
Abstract
Performing a cache only data transfer across a bus connecting a storage apparatus with a host concurrent with a period of bus availability while being incident within a time period for executing a connect host data transfer command. The time period for executing the connect host data transfer command is determined by a combination of a seek latency portion of the connect host data transfer command execution in combination with a rotation latency portion of the connect host data transfer command execution offset by a data transfer latency between the storage apparatus and the host in combination with an overhead time, wherein the overhead time is determined by a time for determining the time period for executing the connect host data transfer command in conjunction with a time for stopping an operation of the storage apparatus and transitioning to a new operation of the storage apparatus.

Term
Term ended
Expired 18 April 2023, 3.4 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
16 claims: 3 independent, 13 dependent
- 1A method for operating a storage apparatus comprising the steps of:receiving a data transfer command with respect to a data storage medium;completing the data transfer command by moving a transfer device to an addressable location of the data storage medium and transferring data in relation to the data storage medium, wherein an interval between beginning the moving step and ending the transferring step defines a latency period;and executing a cache only data transfer during the latency period.
- 6Broadest claimClaim Score 81, broad(NHIP)A method comprising steps of initiating a data retrieval operation to transfer first data requested by a device from a first memory space to a second memory space for subsequent transfer to the device, and simultaneously transferring second data between said second memory space and the device after beginning the transfer of the first data and before completing the transfer of the first data.
- 13A storage apparatus comprising:an interface channel providing a data transfer request;a servo system executing a requested data seek operation in relation to selected addressable locations of a data storage medium in response to the data transfer request;and a control processor programmed to transfer data across the interface channel, prior to a completion of the requested data seek operation, by steps for transferring a cache only data simultaneously during the requested data seek operation.
Independent claims3
42 paragraphs in 6 sections, as filed
RELATED APPLICATIONS
This application claims priority to U.S. Provisional Application No. 60/338,200 filed Nov. 13, 2001, entitled Just In Time Read.
FIELD OF THE INVENTION
This invention relates generally to the field of magnetic data storage devices, and more particularly, but not by way of limitation, to improved data throughput for a disc drive.
BACKGROUND
Disc drives are used for data storage in modem electronic products ranging from digital cameras to computers and network systems. Typically, a disc drive includes a mechanical portion, or head disc assembly, and electronics in the form of a printed circuit board assembly mounted to an outer surface of the head disc assembly. The printed circuit board assembly controls functions of the head disc assembly and provides a communication interface between the disc drive and a host being serviced by the disc drive.
Typically, the head-disc assembly has a disc with a recording surface rotated at a constant speed by a spindle motor assembly and an actuator assembly positionably controlled by a closed loop servo system. The actuator assembly supports a read/write head that writes data to and reads data from the recording surface. Disc drives using magneto resistive read/write heads typically use an inductive element, or writer, to write data to information tracks of the recording surface and a magneto resistive element, or reader, to read data from the information tracks during drive operations.
The disc drive market continues to place pressure on the industry for disc drives with increased capacity at a lower cost per megabyte and higher rates of data throughput between the disc drive and the host. High performance disc drives achieve areal bit densities in the range of several gigabits per square centimeter (Gbits/cm<sup>2</sup>). Higher recording densities can be achieved by increasing the number of bits per centimeter stored along each information track, and/or by increasing the number of tracks per centimeter written across each recording surface. Capacity increases gained by increasing the number of tracks per centimeter on each recording surface generally require improvements in servo control systems, which enable the read/write heads to be more precisely positioned relative to the information tracks. Capacity increases gained through increasing the bits per centimeter stored on each track generally require improvements in the read/write channel electronics to enable data to be written to and subsequently read from the recording surface at a correspondingly higher frequency, and typically foster a need for improvements in the interface channel electronics for improved bit transfer rates.
Under a typical queued command environment architecture for a host interface channel of a disc drive, requested read data that must be retrieved from the media requires synchronization between the host interface channel of the disc drive and the drive interface channel of the host in order to steam the read data almost immediately to the drive interface channel of the host. A problem with this method of handling data read requests is that the drive interface channel of the host is connected with the host interface channel of the disc drive exclusively while the data is recovered from the media.
For any media access, the access time is governed primarily by the seek time and by the rotational latency. Since seek times are generally in the millisecond time frame, the disc drive cannot transmit or receive other data while the drive interface channel of the host is connected with the host interface channel of the disc drive. In a queued command environment, there is no host transfer activity permitted during this access time and this can result in a significant decrease in overall data transfer rate. This problem also exists for non-WCE (Write Cache Enabled) writes since the final status transfer of the host interface channel of the disc drive maintains control over the drive interface channel of the host until the disc write operation completes.
As such, challenges remain and a need persists for improvements in data throughput between the disc drive and the host. It is to this and other features and advantages set forth herein that embodiments of the present invention are directed.
SUMMARY OF THE INVENTION
As exemplified by preferred embodiments, the present invention provides for improving data throughput for a storage apparatus by initiating a seek operation in response to a connect host data transfer command, determining a time period for executing the connect host data transfer command based on the seek operation and using a predetermined equation, executing a host only data transfer command concurrent with a period of bus availability incident within the time period, and synchronizing a drive interface channel of a host with a host interface channel of the storage apparatus for transfer of a data responsive to the connect host data transfer command as part of a method for improving data throughput of the storage apparatus.
These and various other features and advantages, which characterize the present invention, will be apparent from a reading of the following detailed description and a review of the associated drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
<figref idref="DRAWINGS">FIG. 1</figref> is a top plan view of a disc drive that incorporates a just-in-time read process in accordance with a method of the present invention.
<figref idref="DRAWINGS">FIG. 2</figref> is a functional block diagram of control circuitry of the disc drive of <figref idref="DRAWINGS">FIG. 1</figref>.
<figref idref="DRAWINGS">FIG. 3</figref> is a diagratumatic representation of seek latency and rotational latency encountered during a data read operation of the of the disc drive of <figref idref="DRAWINGS">FIG. 1</figref>.
<figref idref="DRAWINGS">FIG. 4</figref> is a timeline illustrating of an algorithm used in setting a firmware timer for implementing the just-in-time read process within the disc drive of <figref idref="DRAWINGS">FIG. 1</figref>.
<figref idref="DRAWINGS">FIG. 5</figref> is a flow chart of a method for executing a host only data transfer operation during an execution of a connect host data transfer command for the disc drive of <figref idref="DRAWINGS">FIG. 1</figref>.
DETAILED DESCRIPTION
Referring to the drawings in general, and more particularly to <figref idref="DRAWINGS">FIG. 1</figref>, shown therein is a top view of a disc drive <b>100</b>, also referred to herein as a data storage device, constructed in accordance with the present invention. Numerous details of and variations for the construction of the disc drive <b>100</b> are not included in the following description as such are well-known to those skilled in the art, and believed unnecessary for the purpose of describing the present invention.
The disc drive <b>100</b> includes a basedeck <b>102</b> supporting various data storage device components, including a spindle motor assembly <b>104</b> that supports one or more axially aligned rotatable discs <b>106</b> forming a disc stack <b>108</b>, each disc <b>106</b> having at least one, and usually two, recording surfaces <b>109</b>.
Adjacent the disc stack <b>108</b> is a head stack assembly <b>110</b> (also referred to as an actuator assembly) that pivots about a bearing assembly <b>112</b> in a rotary fashion. The actuator assembly <b>110</b> includes an actuator arm <b>114</b> that supports a load arm <b>116</b>, which in turn supports at a read/write head <b>118</b> corresponding to the rotatable recording surface <b>109</b>. The rotatable recording surface <b>109</b> is divided into concentric information tracks <b>120</b> (only one depicted) over which the read/write head <b>118</b> is positionably located. The information tracks <b>120</b> support head position control information written to embedded servo sectors (not separately depicted). Between the embedded servo sectors are data sectors (not separately depicted) used for storing bit patterns or data. The read/write head <b>118</b> includes a reader element (not separately shown) offset radially and laterally from a writer element (not separately shown). The writer element writes data to the concentric information tracks <b>120</b> during write operations of the disc drive <b>100</b>, while the reader element controls the positioning of the read/write head <b>118</b> relative to the concentric information tracks <b>120</b> during operations of the disc drives <b>100</b>.
The terms “servoing” and “position-controlling,” as used herein, mean maintaining control of the read/write head <b>118</b> relative to the rotating recording surfaces <b>109</b> during operation of the disc drive <b>100</b>. Servoing to or on the information track <b>120</b>, the actuator assembly <b>110</b> is controllably positioned by a voice coil motor assembly <b>122</b> (also referred to a primary actuator motor). The voice coil motor assembly <b>122</b> includes an actuator coil <b>124</b> immersed in a magnetic field generated by a magnet assembly <b>126</b>. A pair of steel plates <b>128</b> (pole pieces) mounted above and below the actuator coil <b>124</b> provides a magnetically permeable flux path for a magnetic circuit of the voice coil motor <b>122</b>. During operation of the disc drive <b>100</b>, current passes through the actuator coil <b>124</b> forming an electromagnetic field, which interacts with the magnetic circuit of the voice coil motor <b>122</b>, causing the actuator coil <b>124</b> to move relative to the magnet assembly <b>126</b>. As the actuator coil <b>124</b> moves, the actuator assembly <b>110</b> pivots about the bearing assembly <b>112</b>, causing the read/write head <b>118</b> to move over the rotatable recording surface <b>109</b>, thereby allowing the read/write head <b>118</b> to interact with the information tracks <b>120</b> of the recording surfaces <b>109</b>.
To provide the requisite electrical conduction paths between the read/write head <b>118</b> and data storage device read/write circuitry (not shown), read/write head wires (not shown) of the read/write head <b>118</b> are affixed to a read/write flex circuit <b>130</b>. The read/write flex circuit <b>130</b> is routed from the load arms <b>116</b> along the actuator arms <b>114</b> and into a flex circuit containment channel <b>132</b> and secured to a flex connector body <b>134</b>. The flex connector body <b>134</b> supports the flex circuit <b>130</b> during passage through the basedeck <b>102</b> and into electrical communication with a printed circuit board assembly (PCBA) (not shown) mounted to the underside of the basedeck <b>102</b>. The flex circuit containment channel <b>132</b> also supports read/write signal circuitry including preamplifier/driver (preamp) <b>136</b> used to condition read/write signals passed between the read/write circuitry and the read/write head <b>118</b>. The printed circuit board assembly provides the data storage device read/write circuitry that controls the operation of the read/write head <b>118</b>, as well as other interface and control circuitry for the disc drive <b>100</b>.
Turning to <figref idref="DRAWINGS">FIG. 2</figref>, position-controlling of the read/write head <b>118</b> is provided by the positioning mechanism (not separately shown) operating under the control of a servo control circuit <b>142</b> programmed with servo control code, which forms a servo control loop. The servo control circuit <b>142</b> includes a control processor <b>143</b> with a flash memory portion <b>144</b> for use by the control processor <b>143</b>, a volatile memory or random access memory (VM) <b>145</b>, a demodulator (demod) <b>146</b>, an application specific integrated circuit (ASIC) hardware-based servo controller (“servo engine”) <b>148</b> with digital signal processor portion (DSP) <b>150</b> and a volatile memory or random access memory (VM) <b>152</b> portion, a digital to analog conveter (DAC) <b>154</b> and a motor driven circuit <b>156</b>. Optionally, the functions of the flash memory <b>144</b>, the servo engine <b>148</b>, the digital signal processor <b>150</b> and the volatile memory <b>152</b> may all be contained, along with random access memory <b>145</b>, within the control processor <b>143</b>. Typically, a portion of the random access memory <b>145</b> is used as a cache for data read from the information track <b>120</b> awaiting transfer to a host connected to the disc drive <b>100</b> and for data transferred from the host to the disc drive <b>100</b> to be written to the information track <b>120</b>. The components of the control circuit <b>142</b> are utilized to facilitate track following algorithms for the actuator assembly <b>110</b> (of <figref idref="DRAWINGS">FIG. 1</figref>) and more specifically for controlling the voice coil motor <b>122</b> in position-controlling the read/write head <b>118</b> relative to the selected information track <b>120</b> (of <figref idref="DRAWINGS">FIG. 1</figref>).
The demodulator <b>146</b> conditions head position control information transduced from the information track <b>120</b> of the rotatable recording surface <b>109</b> to provide position information of the read/write head <b>118</b> relative to the information track <b>120</b>. The servo engine <b>148</b> generates servo control loop values used by the control processor <b>143</b> in generating command signals such as seek signals used by voice coil motor <b>122</b> in executing seek commands. Control loop values are also used to maintain a predetermined position of the actuator assembly <b>110</b> during data transfer operations. The command signals generated by the control processor <b>143</b> are converted by the digital to analog converter <b>154</b> to analog control signals. The analog control signals are used by the motor driver circuit <b>156</b> in position-controlling the read/write head <b>118</b> relative to the selected information track <b>120</b>, during track following, and relative to the recording surface <b>109</b> during seek function.
The read element of the read/write head <b>118</b> responds to bit patterns written to the servo sectors as well as bit patterns written to the data sectors of the information track <b>120</b> by generating a signal, also referred to as a read signal. The signal is passed to the preamplifier <b>136</b>, where the amplitude of the signal is increased and then passed to the read/write channel <b>158</b>, which processes the signal and passes data contained within the signal to a host interface channel <b>160</b> of the disc drive <b>100</b> for transfer to a drive interface channel <b>162</b> of a communication bus of a host <b>164</b> (the communication bus not shown separately).
In a preferred embodiment, the architectural environment of the disc drive <b>100</b> is a queued command environment, the control processor <b>143</b> controls a “just-in-time” read method (to be discussed more fully below) that improves utilization of the drive interface channel <b>162</b> of the host <b>164</b> and the host interface channel <b>160</b> of the disc drive <b>100</b> during a seek and rotational latency portion of a data read operation of the disc drive <b>100</b>. Under the just-in-time read method, once the disc drive <b>100</b> has received and placed a data read command from the host <b>164</b> into a command queue block <b>166</b> of the cache portion of the random access memory <b>145</b>, the drive interface channel <b>162</b> of the host <b>164</b> is temporarily disconnected from a synchronized connection with the host interface channel <b>160</b> of the disc drive <b>100</b> and commences with a data read operation.
Each command queue block <b>166</b> of the cache portion of the random access memory <b>145</b> is associated with and connected to a data queue block <b>168</b> of the cache portion of the random access memory <b>145</b> that is assigned by the control processor <b>143</b> to the command queue block <b>166</b> for receipt of read data during the data read operation. The data read operation typically comprises a seek latency portion, a rotational latency portion and a data transfer latency portion. The data transfer latency portion is generally determined to he an amount of time it takes to transfer a sufficient amount of the data being read from the recording surface <b>109</b> into the data queue block <b>168</b> that will allow an uninterrupted transfer of data from the data queue block <b>168</b> to the host <b>164</b> by the time the remaining data being read from the recording surface <b>109</b> is transferred into data queue block <b>168</b>.
Upon commencement of the read data operation to retrieve data requested by the data read command from the recording surface <b>109</b>, the control processor <b>143</b> checks to see if the communication bus is free, and if the communication bus is free, the control processor <b>143</b> reestablishes the synchronized connection between the drive interface channel <b>162</b> of the host <b>164</b> and the host interface channel <b>160</b> of the disc drive <b>100</b>, i.e., the control processor <b>143</b> reestablishes the bus connection between the host <b>164</b> and the disc drive <b>100</b>. Once the bus connection has been reestablished, write data can be transferred from the host <b>164</b> to the cache portion of the random access memory <b>145</b> and speculative data held in the cache portion of the random access memory <b>145</b> can be transferred to the host <b>164</b> during the seek latency portion, the rotational latency portion and data transfer latency portion of the data read operation. Speculative data comprises pre fetch and post fetch data such as data remaining in the cache portion of the random access memory <b>145</b> from prior data read access requests or data transferred to the cache portion of the random access memory <b>145</b> as a result of an execution of a read-look-ahead caching algorithm. Once sufficient data transferred into the data queue black <b>168</b> from the recording surface <b>109</b> to allow an uninterrupted transfer of data from the data queue block <b>168</b> to the host <b>164</b>, the data queue block <b>168</b> is reconnected and synchronized “just-in-time”through the host interface channel <b>160</b> of the disc drive <b>100</b> to the drive interface change <b>162</b> of the host <b>164</b> to synchronize transferring of data read from the recording surface <b>109</b> directly to the host <b>164</b>.
The just-in-time read method allows firmware (not shown separately) of the disc drive <b>100</b> to utilize the drive interface channel <b>162</b> of the host and the host <b>164</b> interface channel <b>160</b> of the disc drive <b>100</b> for cache only transfers. By permitting cache only transfers during data read operation, the overall data throughput performance between the host <b>164</b> and the disc drive <b>100</b> improves.
During operation of the disc drive <b>100</b>, any time a data read access request for data is required and the request has reached the top of the command queue, a timer in the drive firmware (not shown separately) is enabled. The timer is based on a prediction of when the drive interface channel <b>162</b> of the host <b>164</b> will be required to transmit data requested by the data read access request from the cache portion of the random access memory <b>145</b> to the host <b>164</b>. The prediction is described by the following equation: <br /><i>T</i>=Lat<sub>sk</sub>+Lat<sub>rot</sub>−Lat<sub>dat</sub><i>−OH</i> Equation (1)
Where: <ul id="ul0001" list-style="none"><li id="ul0001-0001" num="0000"><ul id="ul0002" list-style="none"><li id="ul0002-0001" num="0030">T=Time until the Host channel is needed</li><li id="ul0002-0002" num="0031">Lat<sub>sk</sub>=Seek Latency, (how long the seek will take).</li><li id="ul0002-0003" num="0032">Lat<sub>rot</sub>=Rotational Latency, (how long the read head takes to get over the target media).</li><li id="ul0002-0004" num="0033">Lat<sub>dat</sub>=Data Transfer Latency (a worst-case timing for a host transfer, i.e., how long to transfer a cache hit to or from the host).</li><li id="ul0002-0005" num="0034">OH=Overhead required to make the calculation, stop the current operations, and transition to the new task.</li></ul></li></ul>
When a read data operation commences, the timer is enabled and the drive firmware is allowed to execute any cache only operations until the timer expires. When the timer expires, the drive firmware waits until any cache only operations completes and then reconnects and synchronizes the command queue block <b>166</b> with its connected data queue block <b>168</b> through the host interface channel <b>160</b> of the disc drive <b>100</b> to the drive interface channel <b>162</b> of the host <b>164</b> and starts the data transfer from the cache portion of the random access memory <b>144</b> to the host <b>164</b>.
<figref idref="DRAWINGS">FIG. 3</figref> shows a seek latency portion <b>170</b> of a data read operation and a rotational latency portion <b>172</b> of the read data operation. Vector <b>174</b> shows the direction of rotation of the recording surface <b>109</b> Vector <b>176</b> shows a path followed by the read/write head <b>118</b> when executing a seek operation to data <b>178</b> written to the recording surface <b>109</b>, the seek operation is in response to a second data transfer request. The seek operation commences at the end of reading the data <b>180</b> following a first data transfer and terminates with the read/write head <b>118</b> coming on track at information track <b>120</b> and reading a first header <b>182</b> encountered by the read/write head <b>118</b>. The amount of time used for completion of the seek operation is the seek latency <b>170</b>.
After completion of a seek operation, the amount time taken for header information <b>184</b> of the data <b>178</b> to rotate beneath the read/write head <b>118</b> is rotational latency <b>172</b>.
<figref idref="DRAWINGS">FIG. 4</figref> shows a data read operation timeline <b>186</b> depicting events that occur over time in an embodiment of the present invention responding to a connect host data transfer command. A command that requires dedication of both to drive interface channel <b>162</b> of the host <b>164</b> and the host interface channel <b>160</b> of the disc drive <b>100</b> channels to complete is referred to herein as a connected host data transfer command. The response of the disc drive <b>100</b> to to connect host data command commences with a command overhead portion <b>188</b> of a seek command, continues with a seek and rotational latency portion <b>190</b> followed by a disc transfer portion <b>192</b> and concluding with a command termination overhead portion <b>194</b>. A time sequence direction or order of events depicted for the disc read operation, as depicted by the timeline <b>186</b>, is shown by vector <b>196</b>. A vector <b>198</b> depicts a point in time during the disc read operation that cache only transfers, also referred to as host only data transfers or cache hits <b>200</b> may commence. Commencement of cache hits <b>200</b> are permitted to occur at a point in time following an issuance of a seek command. Issuance of a seek command is depicted by vector <b>202</b>. Vector <b>204</b> shows an expiration of the time T equation (1) from above that signifies a point in time during the data read operation that no new cache hits <b>200</b> may commence. Vector <b>206</b> shows a point in time during the disc transfer portion <b>192</b> that synchronization between the drive interface channel <b>162</b> of the host <b>164</b> and the host interface channel <b>160</b> of the disc drive <b>100</b> reoccurs to permit a just-in-time transfer of data read from the recording surface <b>109</b> to the host <b>164</b>.
The connected host data transfer command becomes eligible for execution when it reaches the top of the command queue <b>166</b> and has access to both the drive interface channel <b>162</b> of the host <b>164</b> and the host interface channel <b>160</b> of the disc drive <b>100</b>.
Cache hits <b>200</b>, either transfer of data from the host <b>164</b> to the cache portion of the random access memory <b>145</b> of the disc drive <b>100</b> or transfer of data from the cache portion of the random access memory <b>145</b> of the disc drive <b>100</b> to the host <b>164</b> may occur internal to an execution of a connected host data transfer command because synchronization of the command queue block <b>166</b> with its connected data queue block <b>168</b> through the host interface channel <b>160</b> of the disc drive <b>100</b> to the drive interface channel <b>162</b> of the host <b>164</b> is not required to effect the transfer.
<figref idref="DRAWINGS">FIG. 5</figref> depicts data transfer process <b>300</b> for executing a host only data transfer operation during an execution of a connect host data transfer command beginning at process step <b>302</b>. At process step <b>304</b> a disc drive (such as <b>100</b>) receives a data transfer request from a host (such as <b>164</b>) connected to the disc drive by communication bus. Upon receipt of the data transfer request the disc drive determines an availability of the requested data in a cache portion of a random access memory (such as <b>145</b>) of the disc drive. If the disc drive determines the requested data is unavailable in the cache portion of the random access memory, the data transfer process <b>300</b> continues with an issuance of a host data transfer command at process step <b>308</b>.
At process step <b>310</b>, a seek operation to retrieve the requested data from a recording surface (such as <b>109</b>) of the disc drive is initiated. At process step <b>312</b> of the data transfer process <b>300</b>, a time period for executing the connected host data transfer command is determined based on the seek operation initiated at process step <b>310</b> and incorporates a use of a predetermined equation (such as equation 1).
At process step <b>314</b>, a control processor (such as <b>143</b>) of the disc drive disconnects the disc drive from the communication bus operating between the disc drive and the host upon commencement of the seek operation. Next, the disc drive negotiates for control of the bus at process step <b>316</b>. If the bus is unavailable, the disc drive repeats the negotiation until a bus available response is received from the host.
Upon receipt of a bus available response from the host, the data transfer process <b>300</b> continues at process <b>318</b> with a determination of sufficiency of time remaining within the time period for executing the connected host data transfer command for an execution of a host only data transfer. If sufficient time remains for a host only data transfer, the data transfer process <b>300</b> continues at process step <b>320</b> with a determination of an availability of data for an execution of a host only data transfer and if data is available for execution of a host only data transfer the data transfer process <b>300</b> continues with process step <b>322</b> by connecting the disc drive to the bus and executing the host only data transfer operation. If data is unavailable for execution of a host only data transfer, the disc drive returns to the negotiating mode of process step <b>316</b>. If insufficient time remains for host only data transfer, the data transfer process proceeds to process step <b>324</b>.
At process step <b>324</b>, a command queue block (such as <b>166</b>) of the random access memory along with a data queue block (such as <b>168</b>) of the random access memory connected to the command queue block is synchronized through a host interface channel (such as <b>160</b>) of the disc drive to a drive interface channel (such as <b>162</b>) of the host for transfer of a data responsive to the connect host data command from the cache portion of the random access memory to the host. Following the transfer of the data responsive to the connected host data command, the data transfer process <b>300</b> concludes at end process step <b>326</b>.
Accordingly, embodiments of the present invention are directed to improving data throughput for a storage apparatus. In accordance with one embodiment, steps of initiating a seek operation in response to a connect host data transfer command (such as step <b>310</b>), determining a time period for executing the connect host data transfer command based on the seek operation and using a predetermined equation (such as <b>312</b>), executing a host only data transfer command concurrent with a period of bus availability incident within the time period (such as step <b>322</b>), and synchronizing a drive interface channel of a host with a host interface channel of the storage apparatus for transfer of a data responsive to the connect host data transfer command (such as <b>324</b>) are part of a method for improving data throughput of the storage apparatus.
It will be clear that the present invention is well adapted to attain the ends and advantages mentioned as well as those inherent therein. While presently preferred embodiments have been described for purposes of this disclosure, numerous changes may be made which will readily suggest themselves to those skilled in the art and which are encompassed in the appended claims.
Contents6
5 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US11360894B2 | Cited by | United States of America | Applicant |
| US9477611B2 | Cited by | United States of America | Applicant |
| US10067687B2 | Cited by | United States of America | Applicant |
| US9323688B2 | Cited by | United States of America | Applicant |
| US12380027B2 | Cited by | United States of America | Applicant |
| US11880305B2 | Cited by | United States of America | Applicant |
| US11822474B2 | Cited by | United States of America | Applicant |
| US10097204B1 | Cited by | United States of America | Applicant |
| US10761737B2 | Cited by | United States of America | Applicant |
| US9454991B2 | Cited by | United States of America | Search report |
| US2014223073A1 | Cited by | United States of America | Pre-grant |
| US9733841B2 | Cited by | United States of America | Applicant |
| US9594693B2 | Cited by | United States of America | Applicant |
| US9559722B1 | Cited by | United States of America | Applicant |
| US9892032B2 | Cited by | United States of America | Search report |
| US9928172B2 | Cited by | United States of America | Applicant |
| US10684949B2 | Cited by | United States of America | Applicant |
| US2003204692A1 | Cites | United States of America | Search report |
| US2004088478A1 | Cites | United States of America | Search report |
| US5644786A | Cites | United States of America | Applicant |
| US5704056A | Cites | United States of America | Search report |
| US5729718A | Cites | United States of America | Search report |
| US5732239A | Cites | United States of America | Applicant |
| US5809560A | Cites | United States of America | Search report |
| US5950212A | Cites | United States of America | Applicant |
| US6098128A | Cites | United States of America | Applicant |
| US6260108B1 | Cites | United States of America | Applicant |
| US6301640B2 | Cites | United States of America | Applicant |
| US6356963B1 | Cites | United States of America | Applicant |
| US6437937B1 | Cites | United States of America | Search report |
| US6614616B1 | Cites | United States of America | Search report |
| US6754682B1 | Cites | United States of America | Search report |
| US6925539B2 | Cites | United States of America | Search report |
2 members in 1 office
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 33820001 | United States of America | P | |
| 33820001 | United States of America | P | |
| 12177402 | United States of America | A | |
| 60338200 | – | – | – |
| US20010338200P | – | – | – |
| US20020121774 | – | – | – |
Members2
| Document | Office | Kind | |
|---|---|---|---|
| US2003093640A1 | United States of America | A1 | |
| US6978355B2This record | United States of America | B2 |
41 transactions on the USPTO file
Allowed after 1 non-final rejection, 1 final rejection and 1 appeal.
- Non-final rejections
- 1
- Final rejections
- 1
- RCEs
- 0
- Appeals
- 1
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Post Issue Communication - Certificate of CorrectionN423 | N423 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Response to Reasons for AllowanceREAS | REAS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Amendment/Argument after Notice of AppealAP/A | AP/A | |
| Letter Requesting Interview with ExaminerM865 | M865 | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Appeal Brief FiledAP.B | AP.B | |
| Notice of Appeal FiledN/AP | N/AP | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Letter Requesting Interview with ExaminerM865 | M865 | |
| Response after Final ActionA.NE | A.NE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Correspondence Address ChangeC.AD | C.AD | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| IFW Scan & PACR Auto Security Review | – | |
| Information Disclosure Statement (IDS) Filed | – | |
| Information Disclosure Statement (IDS) Filed | – | |
| Initial Exam Team nnIEXX | IEXX |
37 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Fee paymentFPAY | FPAY | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Fee paymentFPAY | FPAY | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Fee paymentFPAY | FPAY | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Certificate of correctionCC | CC | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 06978355
- Publication, DOCDB
- 6978355
- Publication, EPODOC
- US6978355
- Application
- 10121774
- Application, DOCDB
- 12177402
- Application, EPODOC
- US20020121774
Titles
- English
- Cache memory transfer during a requested data retrieval operation
Patent term adjustment
- A delay
- +404 daysthe office missed an examination deadline
- Applicant delay
- −32 days
- Net adjustment
- 372 days
Classification
- CPC, 4
- G11B20/10
- G11B20/10527
- G11B2020/1062
- G11B2020/10916
- IPC, 2
- G06F12 00
- G11B20 10
- USPC, 4
- 711167000
- 711113000
- G9B020009
- G9B020014