US20140104720A1 - Enhanced quality-sorting scheduler - Google Patents
Enhanced quality-sorting scheduler Download PDFInfo
- Publication number
- US20140104720A1 US20140104720A1 US13/650,479 US201213650479A US2014104720A1 US 20140104720 A1 US20140104720 A1 US 20140104720A1 US 201213650479 A US201213650479 A US 201213650479A US 2014104720 A1 US2014104720 A1 US 2014104720A1
- Authority
- US
- United States
- Prior art keywords
- sector
- sectors
- quality metric
- controller
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10009—Improvement or modification of read or write signals
- G11B20/10481—Improvement or modification of read or write signals optimisation methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10009—Improvement or modification of read or write signals
- G11B20/10268—Improvement or modification of read or write signals bit detection or demodulation methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/012—Recording on, or reproducing or erasing from, magnetic disks
Definitions
- aspects of the disclosure pertain to a read channel system and method for providing sector prioritization for promoting improved sector processing performance.
- FIG. 1 is an example conceptual block diagram schematic of a read channel system
- FIG. 2 is a flow chart illustrating a method for sector prioritization in a read channel system
- FIG. 3 is an example conceptual block diagram schematic of a disk drive system including a read channel system.
- a read channel is a circuit in a disk drive which: 1) encodes data bits into magnetic flux changes for recording; and 2) decodes magnetic flux changes into bits for reading.
- a read channel system can perform retained sector reprocessing (RSR) when processing sectors of data.
- RSR retained sector reprocessing
- a data buffer such as a Y-buffer, can be implemented for temporarily storing data (e.g., sectors) received by the read channel system.
- the Y-buffer can be dynamically shared between in-order sectors and retained sectors.
- a sector-quality-sorting based scheduler can be implemented by the read channel system.
- the scheduler sorts the sectors by sector quality metric. For example, during processing, the scheduler can dynamically prioritize sectors, such that it causes the system to process good sectors (e.g., in-order sectors) first, followed by processing of bad sectors (e.g., retained sectors).
- two metrics can be involved in sorting. For example, for sectors with one global iteration, a mean squared error (MSE) metric from a loop detector of the read channel system can be used. Further, for sectors with more than one global iteration, a number of unsatisfied checks (USCs) can be used as a metric.
- MSE mean squared error
- USCs unsatisfied checks
- Typical read channel systems implementing the sorting metrics described above often suffer from a number of drawbacks.
- a first sorting metric e.g., quality metric
- quality metric implemented by typical read channel systems for sectors with more than one global iteration only considers the number of USCs. In the event there are multiple sectors with very different numbers of global iterations, this metric is misleading. For example, a sector with only one global iteration and forty USCs usually has better quality than a sector with twenty-seven global iterations and thirty USCs.
- a trapping set error(s) when a trapping set error(s) occurs, the number of USCs is usually small, so a sector with a trapping set error(s) looks good to current quality sorting rules.
- the detector and decoder of the read channel system keep working on it and waste processing slots. Still further, with typical read channel systems, further processing of some bad sectors will be delayed too long, since good sectors keep coming in. Thus, the bad sectors will not get a chance to be processed further until latency kickout occurs.
- SFR Sector Failure Rate
- aspects of the disclosure include a system and method for promoting improved SFR performance (e.g., 0.04 decibel (dB) SFR gain) during sector processing.
- improved SFR performance e.g. 0.04 decibel (dB) SFR gain
- a system 100 is shown.
- the system 100 is a read channel system.
- the system 100 is an iterative codec system architecture.
- the system 100 is a read channel backend codec system architecture.
- the system 100 is implemented in a hard disk drive system 300 (as shown in FIG. 3 ).
- the system 100 includes a read channel 102 (e.g., a read channel backend, a read channel backend codec).
- the read channel 102 is a circuit (e.g., an integrated circuit, an electrical circuit) implemented in a disk drive which: 1) encodes data bits into magnetic flux changes for recording; and 2) decodes magnetic flux changes into bits for reading. Still further, the read channel 102 can be a single chip or integrated as part of a system on chip (SoC).
- SoC system on chip
- the system 100 includes a controller 104 .
- the controller 104 is connected to (e.g., communicatively coupled with) the read channel 102 .
- the controller 104 is connected to the read channel 102 (e.g., read channel backend codec) via an analog front end (e.g., read channel analog front end).
- the controller 104 is a disk controller.
- the controller 104 is configured for transferring data and signals (e.g., control signals) between the read channel 102 and a host system during read and write operations.
- the controller 104 is configured for being connected to a head transducer (e.g., read-write head) 302 of the hard disk drive system 300 .
- a head transducer e.g., read-write head
- the head transducer is configured for reading data from a disk (e.g., a disk platter of a hard disk drive (HDD)) 304 and providing the read data to the controller 104 .
- the controller 104 is configured for provide the read data received from the head transducer 302 to the read channel 102 .
- the read channel 102 is configured for providing write data to the controller 104
- the controller 104 is configured for providing the write data received from the read channel 102 to the head transducer 302
- the head transducer 302 is configured for writing the write data received from the controller 104 to the disk.
- the controller 104 is configured for managing (e.g., controlling) a position of the head transducer 302 .
- the controller 104 is configured for selecting a track to be read and for causing the head transducer 302 : a.) to move (e.g., change its position) relative to the disk 304 , such that the head transducer 302 is aligned to read the controller-selected track; and b.) to read the controller-selected track of data from the disk 304 .
- the head transducer 302 provides the read data from the controller-selected track to the controller 104 , the controller 104 then provides the read data from the controller-selected track to the read channel 102 .
- the read data received by the read channel (e.g., read channel backend codec) via the controller 104 is digital data which is encoded.
- the controller 104 is configured for: selecting a next (e.g., second) track to be read; causing the head transducer 302 to move to a new position relative to the disk 304 ; causing the head transducer 302 to read data from the second selected track and to transmit the read data to the controller 104 ; receiving the transmitted read data from the second selected track; and transmitting the received read data from the second selected track to the read channel 102 .
- The-above described transition process the system 100 undergoes as the controller 104 transitions from receiving the read data from the first selected track to receiving read data from the second selected track is a process known as track switching. Latency is associated with this track switching process (e.g., track switching latency).
- the controller 104 is configured for receiving read data from the head transducer 302 and for transmitting the received read data to the read channel 102 .
- the controller 104 is configured for transmitting a plurality of sectors (e.g., a track) of read data to the read channel 102 , the plurality of sectors having been read from the disk 304 .
- the read channel 102 is configured for processing the plurality of sectors of read data received from the controller 104 . For example, when the system 100 is operating in normal mode, each of the plurality of sectors received by the read channel 102 is processed via 28 global iterations and 10 local iterations per global iteration.
- the controller 104 implements (e.g., includes) a client-server based scheduler for accommodating concurrent processing of the plurality of sectors.
- the term “scheduler” as described herein, is implemented as hardware, firmware, software or a combination thereof.
- the system 100 is configured for performing retained sector reprocessing (RSR). For example, after the plurality of sectors is processed by the read channel 102 , the processed sectors are provided (e.g., transmitted) from the read channel 102 to the controller 104 .
- the controller 104 is configured for identifying (e.g., classifying) each sector included in the plurality of processed sectors as being either: a.) normal (e.g., in-order); or b.) failed. If one or more sectors included in the plurality of processed sectors are identified by the controller 104 as being in-order, the controller 104 is configured for determining that no further processing of the one or more in-order sectors by the read channel 102 is needed.
- the controller 104 (e.g., via the scheduler) is configured for saving y-samples corresponding to the one or more failed sectors (e.g., retained sectors) and for scheduling and initiating reprocessing of the failed (e.g., retained) sectors by the read channel 102 .
- the retained sectors are reprocessed by the read channel 102 via 180 global iterations (for 512 bytes (512 B)) or 37 global iterations (for 4 kilobytes (4 KB)) and 20 local iterations per global iteration.
- RSR provides a performance gain (e.g., 0.05 to 0.15 decibels (dB), depending on conditions) for the system 100 via the extra global and local iterations on the retained sectors.
- the system 100 undergoes a transition as the controller 104 transitions from receiving the read data (e.g., sectors) from the first selected track to receiving read data (e.g., sectors) from the second selected track.
- the latency associated with track switching provides a window of time for the read channel 102 to reprocess the retained sectors (e.g., failed sectors) of the first selected track and to transmit those reprocessed sectors to the controller 104 before reading of data (e.g., sectors) from the second selected track occurs (e.g., before the controller 104 receives read data from the second selected track).
- the controller 104 (via the scheduler) is configured for scheduling reprocessing of the failed sectors by the read channel 102 during the above-referenced track switching latency time window.
- a size of a track of read data is equivalent to a number of sectors of that track which the controller 104 obtains, via the head transducer 302 , during a consecutive read.
- Track size is, at times, highly application-dependent, varying from tens (10 s) to thousands (1000 s) of sectors per track.
- the read channel 102 includes a buffer 106 , which is connected to the controller 104 .
- the buffer 106 is a Y-buffer.
- the buffer 106 is a memory which is temporarily used for storing input or output data.
- the buffer 106 is configured for receiving read data (e.g., sectors) from the controller 104 .
- the read channel 102 includes a first detector 108 , which is connected to the controller 104 .
- the first detector 108 is a loop detector.
- the first detector 108 is configured for receiving a signal (e.g., data, information).
- the first detector 108 is configured for receiving one or more signals (e.g., information) from the controller 104 , the one or more signals corresponding to the read data (e.g., sectors) provided from the controller 104 to the buffer 106 .
- the controller 104 is configured for providing the one or more signals to the first detector 108 in parallel with providing the read data to the buffer 106 .
- the read channel 102 further includes a second detector 110 , which is connected to both the first detector (e.g., the loop detector) 108 and the buffer (e.g., Y-buffer) 106 .
- the second detector 110 is a backend detector.
- the second detector 110 is configured for receiving the read data via the buffer 106 .
- the second detector 110 is further configured for receiving the signals (e.g., information) corresponding to the read data via the first detector 108 .
- the read channel 102 further includes a decoder 112 , which is connected to the second detector (e.g., the backend detector) 110 .
- the decoder 112 is a backend decoder.
- the decoder 112 is connected to the controller 104 .
- the decoder 112 is configured for receiving the read data.
- the decoder 112 is configured for receiving the signals (e.g., information) corresponding to the read data.
- the read data provided from the controller 104 is routed via the buffer 106 and the second detector 110 to the decoder 112 .
- the signals (e.g., information) corresponding to the read data are routed via the first detector 108 and the second detector 110 to the decoder 112 .
- the read data and the signals corresponding to the read data are combined at the second detector 110 and routed from the second detector 110 to the decoder 112 as a first queue (e.g., LE queue) 114 .
- the decoder 112 is configured for processing (e.g., decoding) the read data (e.g., sectors) and for providing the processed read data to the controller 104 .
- the processed read data is provided to the controller 104 as a second queue (e.g., Hard Drive (HD) queue) 116 .
- HD Hard Drive
- the controller 104 is configured (e.g., via a sector-quality-sorting based scheduler of the controller) for sorting (e.g., prioritizing) sectors for dynamically determining an order in which the plurality of sectors are to be further processed. For example, the controller 104 implements the scheduler to sort the sectors based upon a sorting metric (e.g., quality metric). In embodiments, the controller 104 is configured for determining (e.g., calculating) and assigning a quality metric to each sector included in the plurality of sectors.
- a sorting metric e.g., quality metric
- the controller 104 is configured for determining and assigning the quality metrics based upon a global iteration index of each sector included in the plurality of sectors. For example, if two sectors included in the plurality of sectors have a same number of USCs, but different global iteration indices, the sector of the two sectors which has the larger global iteration index is assigned a larger quality metric than the other sector of the two sectors.
- the sector of the two sectors which has the larger quality metric is identified by the controller 104 as being the lower quality sector of the two sectors and is given a lower priority for further processing (e.g., will be scheduled, prioritized and/or sorted in such a manner that it will undergo further processing after the higher quality sector undergoes further processing).
- the quality metric is determined (e.g., calculated) using the following equation:
- g global iteration index
- g max maximum global iteration index
- USC number of USCs
- ⁇ is a positive parameter needing to be tuned.
- the controller 104 is further configured for determining and assigning the quality metrics based upon trapping set characteristics of each sector included in the plurality of sectors. For example, when a first sector included in the plurality of sectors is identified by the controller 104 as having a trapping set error and a second sector included in the plurality of sectors is identified by the controller 104 as not having a trapping set error, the first sector (e.g., the sector identified as having the trapping set error) is assigned a larger quality metric than the second sector. This promotes processing efficiency of the system 100 .
- the controller 104 is configured for determining and assigning the quality metrics to the plurality of sectors based upon a processing latency (e.g., time already spent waiting for further processing) for each sector included in the plurality of sectors.
- a processing latency e.g., time already spent waiting for further processing
- the quality metric is determined (e.g., calculated) using the following equation:
- ⁇ is a parameter in (0,1)
- t is latency
- t max is maximum latency.
- the first sector is assigned a larger quality metric than the second sector. This effectively gives a higher priority for further processing to sectors having longer processing latency times (e.g., have been waiting for longer amounts of time to be processed further).
- the system 100 disclosed herein provides improved SFR performance over typical systems (e.g., codecs) without introducing extra track latency.
- the system 100 is configurable for operating in an out-of-order hard disk controller (HDQ) transfer mode for achieving large maximum global iteration in the sector-quality-sorting based scheduler.
- HDQ hard disk controller
- converged sectors in HDQ are able to be transferred immediately (e.g., do not have to wait for the transfer of old sectors).
- the system 100 is configured for implementing any of a number of various low density parity check (LDPC) codes and decoding algorithms for facilitating the immediate transfer of the converged sectors in HDQ.
- LDPC low density parity check
- the system 100 is configured for providing system resource allocation based upon predicted bit flipping counts (e.g., predicted detector bit flipping counts, predicted decoder bit flipping counts).
- predicted bit flipping counts e.g., predicted detector bit flipping counts, predicted decoder bit flipping counts.
- the relationship between detector bit flipping counts versus global iteration is predicted (e.g., extrapolated) by using a polynomial function, such as:
- the relationship between decoder bit flipping counts versus global iteration is predicted by using a negative log function, such as:
- bit flipping counts of a particular sector are predictable based on the sector's history.
- System resource allocation problems are reducible to a maximization problem of the bit flipping counts.
- the system 100 disclosed herein implements scheduler rules for increasing (e.g., maximizing) bit flipping counts based on extrapolation and prediction of the bit flipping counts. Assuming there are k sectors in the system (e.g., queuing system) 100 and k changes over time, a goal is to optimize (e.g., in terms of maximizing the bit flipping counts or reducing the number of errors) a resource allocation scheme of the system 100 , so that subsequent processed sectors provide a maximum error count decrease for a detector/decoder run.
- extrapolation parameters a, b and c in the above-referenced extrapolation functions are to be estimated.
- trapping set errors sometimes kick in.
- an error count estimation calculated by the extrapolation functions is sometimes not informative. Error floor-related scheduling rules often occur.
- There are many ways of estimating the parameters a, b and c in the above-referenced log function and polynomial function For example, given the bit flipping counts collected by a normal operation mode of the system 100 , a least square curve fitting, as set forth below, is used (e.g., solved) to estimate the extrapolation parameters:
- extrapolation parameters a, b and c are calculated by taking the derivative of the object function over a, b and c and setting them to be zero.
- bit flipping counts e.g., error counts
- bit flipping counts e.g., error counts
- the following first order Taylor expansion approximation of the extrapolated function is used to estimate the bit flipping counts of the next decoder/detector run by the first order expansion of the extrapolation curve at x 0 :
- scheduler rules implemented by the system 100 are as follows.
- the detector 110 e.g., backend detector
- the detector 110 if no sector in the first (e.g., LE) queue 114 is ready for the detector 110 , and the first queue 114 has a free slot, detector 110 is configured for choosing a best sector in Y-buffer 106 to process.
- the detector 110 chooses the sector which provides a maximum number of bit flipping counts in the next detector run to process.
- the detector is configured for waiting.
- the decoder 112 if one or more sectors in the first queue 114 are ready for the decoder 112 , the decoder 112 is configured for first calculating a bit flipping count prediction for such sectors, then selecting a sector to process from amongst such sectors which has a maximum bit flipping count. If no sector in the first queue 114 is ready for the decoder 112 , the decoder 112 is configured for waiting.
- FIG. 2 is a flowchart illustrating a method for sector prioritization in a read channel system.
- the method 200 includes the step of receiving a track of read data via a controller of the system, the track of read data including a plurality of sectors of read data 202 .
- the method further includes the step of processing the plurality of sectors of read data 204 .
- the read channel 102 is configured for processing the plurality of sectors of read data.
- the method 200 further includes the step of, during processing of the plurality of sectors, dynamically determining an order in which each sector included in the plurality of sectors is to undergo further processing based upon at least one of: a global iteration index of the sector, trapping set characteristics of the sector and processing latency of the sector 206 .
- the controller 104 is configured for determining an order in which each sector included in the plurality of sectors is to undergo further processing based upon at least one of: a global iteration index of the sector, trapping set characteristics of the sector and processing latency of the sector.
- the step of dynamically determining the order in which each sector included in the plurality of sectors is to undergo further processing 206 includes: determining and assigning a quality metric for each sector included in the plurality of sectors based upon at least one of: global iteration index of the sector, trapping set characteristics of the sector and processing latency of the sector 208 .
- the controller 104 is configured for determining and assigning a quality metric for each sector included in the plurality of sectors based upon at least one of: global iteration index of the sector, trapping set characteristics of the sector and processing latency of the sector.
- the method 200 includes the steps of: when a first sector included in the plurality of sectors is identified as having a trapping set error and a second sector included in the plurality of sectors is identified as not having a trapping set error, assigning a first quality metric to the first sector, assigning a second quality metric to the second sector, the first quality metric being different than the second quality metric 214 ; and based upon the assigned first and second quality metrics, causing the second sector to undergo further processing prior to causing the first sector to undergo further processing 216 .
- the method 200 includes the steps of: when a first sector included in the plurality of sectors has a first processing latency value and a second sector included in the plurality of sectors has a second processing latency value, the first processing latency value being greater than the second processing latency value, assigning a first quality metric to the first sector, assigning a second quality metric to the second sector, the first quality metric being different than the second quality metric 218 ; and based upon the assigned first and second quality metrics, causing the first sector to undergo further processing prior to causing the second sector to undergo further processing 220 .
- the quality metrics are assigned based upon more than one of: global iteration index of the sector, trapping set characteristics of the sector and processing latency of the sector.
- Such a software package may be a computer program product which employs a non-transitory computer-readable storage medium including stored computer code which is used to program a computer to perform the disclosed functions and processes disclosed herein.
- the computer-readable medium may include, but is not limited to, any type of conventional floppy disk, optical disk, CD-ROM, magnetic disk, hard disk drive, magneto-optical disk, ROM, RAM, EPROM, EEPROM, magnetic or optical card, or any other suitable media for storing electronic instructions.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Description
- A read channel is a circuit in a disk drive which: 1) encodes data bits into magnetic flux changes for recording; and 2) decodes magnetic flux changes into bits for reading. Current read channel systems often suffer from performance issues.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key and/or essential features of the claimed subject matter. Also, this Summary is not intended to limit the scope of the claimed subject matter in any manner
- Aspects of the disclosure pertain to a read channel system and method for providing sector prioritization for promoting improved sector processing performance.
- The detailed description is described with reference to the accompanying figures:
-
FIG. 1 is an example conceptual block diagram schematic of a read channel system; -
FIG. 2 is a flow chart illustrating a method for sector prioritization in a read channel system; and -
FIG. 3 is an example conceptual block diagram schematic of a disk drive system including a read channel system. - Aspects of the disclosure are described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, example features. The features can, however, be embodied in many different forms and should not be construed as limited to the combinations set forth herein; rather, these combinations are provided so that this disclosure will be thorough and complete, and will fully convey the scope. Among other things, the features of the disclosure can be facilitated by methods, devices, and/or embodied in articles of commerce. The following detailed description is, therefore, not to be taken in a limiting sense.
- A read channel is a circuit in a disk drive which: 1) encodes data bits into magnetic flux changes for recording; and 2) decodes magnetic flux changes into bits for reading. A read channel system can perform retained sector reprocessing (RSR) when processing sectors of data. In a typical read channel system, a data buffer, such as a Y-buffer, can be implemented for temporarily storing data (e.g., sectors) received by the read channel system. In the typical read channel system performing typical RSR, the Y-buffer can be dynamically shared between in-order sectors and retained sectors.
- Further, in the typical read channel system, a sector-quality-sorting based scheduler can be implemented by the read channel system. The scheduler sorts the sectors by sector quality metric. For example, during processing, the scheduler can dynamically prioritize sectors, such that it causes the system to process good sectors (e.g., in-order sectors) first, followed by processing of bad sectors (e.g., retained sectors). In these typical read channel systems, two metrics can be involved in sorting. For example, for sectors with one global iteration, a mean squared error (MSE) metric from a loop detector of the read channel system can be used. Further, for sectors with more than one global iteration, a number of unsatisfied checks (USCs) can be used as a metric.
- Typical read channel systems implementing the sorting metrics described above often suffer from a number of drawbacks. For example, as mentioned above, a first sorting metric (e.g., quality metric) implemented by typical read channel systems for sectors with more than one global iteration only considers the number of USCs. In the event there are multiple sectors with very different numbers of global iterations, this metric is misleading. For example, a sector with only one global iteration and forty USCs usually has better quality than a sector with twenty-seven global iterations and thirty USCs. Further, with typical read channel systems, when a trapping set error(s) occurs, the number of USCs is usually small, so a sector with a trapping set error(s) looks good to current quality sorting rules. Thus, the detector and decoder of the read channel system keep working on it and waste processing slots. Still further, with typical read channel systems, further processing of some bad sectors will be delayed too long, since good sectors keep coming in. Thus, the bad sectors will not get a chance to be processed further until latency kickout occurs.
- Because of the above drawbacks, during the normal stage of signal processing of sectors by the typical read channel system, Sector Failure Rate (SFR) performance of the system is less efficient than desired.
- As more fully set forth below, aspects of the disclosure include a system and method for promoting improved SFR performance (e.g., 0.04 decibel (dB) SFR gain) during sector processing.
- As indicated in
FIG. 1 (FIG. 1 ), asystem 100 is shown. In embodiments, thesystem 100 is a read channel system. Further, in embodiments, thesystem 100 is an iterative codec system architecture. Still further, in embodiments, thesystem 100 is a read channel backend codec system architecture. In further embodiments, thesystem 100 is implemented in a hard disk drive system 300 (as shown inFIG. 3 ). In embodiments, thesystem 100 includes a read channel 102 (e.g., a read channel backend, a read channel backend codec). Theread channel 102 is a circuit (e.g., an integrated circuit, an electrical circuit) implemented in a disk drive which: 1) encodes data bits into magnetic flux changes for recording; and 2) decodes magnetic flux changes into bits for reading. Still further, the readchannel 102 can be a single chip or integrated as part of a system on chip (SoC). - In embodiments, the
system 100 includes acontroller 104. Thecontroller 104 is connected to (e.g., communicatively coupled with) the readchannel 102. For example, thecontroller 104 is connected to the read channel 102 (e.g., read channel backend codec) via an analog front end (e.g., read channel analog front end). In embodiments, thecontroller 104 is a disk controller. Thecontroller 104 is configured for transferring data and signals (e.g., control signals) between theread channel 102 and a host system during read and write operations. For example, thecontroller 104 is configured for being connected to a head transducer (e.g., read-write head) 302 of the harddisk drive system 300. During read operations, the head transducer is configured for reading data from a disk (e.g., a disk platter of a hard disk drive (HDD)) 304 and providing the read data to thecontroller 104. Thecontroller 104 is configured for provide the read data received from thehead transducer 302 to the readchannel 102. During write operations, theread channel 102 is configured for providing write data to thecontroller 104, thecontroller 104 is configured for providing the write data received from theread channel 102 to thehead transducer 302, and thehead transducer 302 is configured for writing the write data received from thecontroller 104 to the disk. - In embodiments, the
controller 104 is configured for managing (e.g., controlling) a position of thehead transducer 302. For example, during read operations, thecontroller 104 is configured for selecting a track to be read and for causing the head transducer 302: a.) to move (e.g., change its position) relative to thedisk 304, such that thehead transducer 302 is aligned to read the controller-selected track; and b.) to read the controller-selected track of data from thedisk 304. Thehead transducer 302 provides the read data from the controller-selected track to thecontroller 104, thecontroller 104 then provides the read data from the controller-selected track to theread channel 102. The read data received by the read channel (e.g., read channel backend codec) via thecontroller 104 is digital data which is encoded. - Further, the
controller 104 is configured for: selecting a next (e.g., second) track to be read; causing thehead transducer 302 to move to a new position relative to thedisk 304; causing thehead transducer 302 to read data from the second selected track and to transmit the read data to thecontroller 104; receiving the transmitted read data from the second selected track; and transmitting the received read data from the second selected track to theread channel 102. The-above described transition process thesystem 100 undergoes as thecontroller 104 transitions from receiving the read data from the first selected track to receiving read data from the second selected track is a process known as track switching. Latency is associated with this track switching process (e.g., track switching latency). - As mentioned above, the
controller 104 is configured for receiving read data from thehead transducer 302 and for transmitting the received read data to the readchannel 102. For example, thecontroller 104 is configured for transmitting a plurality of sectors (e.g., a track) of read data to the readchannel 102, the plurality of sectors having been read from thedisk 304. The readchannel 102 is configured for processing the plurality of sectors of read data received from thecontroller 104. For example, when thesystem 100 is operating in normal mode, each of the plurality of sectors received by theread channel 102 is processed via 28 global iterations and 10 local iterations per global iteration. In embodiments, thecontroller 104 implements (e.g., includes) a client-server based scheduler for accommodating concurrent processing of the plurality of sectors. In embodiments, the term “scheduler” as described herein, is implemented as hardware, firmware, software or a combination thereof. - In embodiments, the
system 100 is configured for performing retained sector reprocessing (RSR). For example, after the plurality of sectors is processed by theread channel 102, the processed sectors are provided (e.g., transmitted) from the readchannel 102 to thecontroller 104. Thecontroller 104 is configured for identifying (e.g., classifying) each sector included in the plurality of processed sectors as being either: a.) normal (e.g., in-order); or b.) failed. If one or more sectors included in the plurality of processed sectors are identified by thecontroller 104 as being in-order, thecontroller 104 is configured for determining that no further processing of the one or more in-order sectors by theread channel 102 is needed. However, if one or more sectors included in the plurality of processed sectors are identified by thecontroller 104 as being failed, the controller 104 (e.g., via the scheduler) is configured for saving y-samples corresponding to the one or more failed sectors (e.g., retained sectors) and for scheduling and initiating reprocessing of the failed (e.g., retained) sectors by theread channel 102. For example, the retained sectors are reprocessed by theread channel 102 via 180 global iterations (for 512 bytes (512 B)) or 37 global iterations (for 4 kilobytes (4 KB)) and 20 local iterations per global iteration. RSR provides a performance gain (e.g., 0.05 to 0.15 decibels (dB), depending on conditions) for thesystem 100 via the extra global and local iterations on the retained sectors. - The
system 100, as mentioned above, during track switching, undergoes a transition as thecontroller 104 transitions from receiving the read data (e.g., sectors) from the first selected track to receiving read data (e.g., sectors) from the second selected track. The latency associated with track switching provides a window of time for theread channel 102 to reprocess the retained sectors (e.g., failed sectors) of the first selected track and to transmit those reprocessed sectors to thecontroller 104 before reading of data (e.g., sectors) from the second selected track occurs (e.g., before thecontroller 104 receives read data from the second selected track). As mentioned above, the controller 104 (via the scheduler) is configured for scheduling reprocessing of the failed sectors by theread channel 102 during the above-referenced track switching latency time window. - In embodiments, a size of a track of read data is equivalent to a number of sectors of that track which the
controller 104 obtains, via thehead transducer 302, during a consecutive read. Track size is, at times, highly application-dependent, varying from tens (10 s) to thousands (1000 s) of sectors per track. - The
read channel 102 includes abuffer 106, which is connected to thecontroller 104. For example, thebuffer 106 is a Y-buffer. Thebuffer 106 is a memory which is temporarily used for storing input or output data. For example, thebuffer 106 is configured for receiving read data (e.g., sectors) from thecontroller 104. - In embodiments, the
read channel 102 includes afirst detector 108, which is connected to thecontroller 104. For example, thefirst detector 108 is a loop detector. Thefirst detector 108 is configured for receiving a signal (e.g., data, information). For example, thefirst detector 108 is configured for receiving one or more signals (e.g., information) from thecontroller 104, the one or more signals corresponding to the read data (e.g., sectors) provided from thecontroller 104 to thebuffer 106. For example, thecontroller 104 is configured for providing the one or more signals to thefirst detector 108 in parallel with providing the read data to thebuffer 106. - In embodiments, the
read channel 102 further includes asecond detector 110, which is connected to both the first detector (e.g., the loop detector) 108 and the buffer (e.g., Y-buffer) 106. For example, thesecond detector 110 is a backend detector. Thesecond detector 110 is configured for receiving the read data via thebuffer 106. Thesecond detector 110 is further configured for receiving the signals (e.g., information) corresponding to the read data via thefirst detector 108. - In embodiments, the
read channel 102 further includes adecoder 112, which is connected to the second detector (e.g., the backend detector) 110. For example, thedecoder 112 is a backend decoder. Further, thedecoder 112 is connected to thecontroller 104. Thedecoder 112 is configured for receiving the read data. Further, thedecoder 112 is configured for receiving the signals (e.g., information) corresponding to the read data. For example, the read data provided from thecontroller 104 is routed via thebuffer 106 and thesecond detector 110 to thedecoder 112. Further, the signals (e.g., information) corresponding to the read data are routed via thefirst detector 108 and thesecond detector 110 to thedecoder 112. For example, the read data and the signals corresponding to the read data are combined at thesecond detector 110 and routed from thesecond detector 110 to thedecoder 112 as a first queue (e.g., LE queue) 114. Thedecoder 112 is configured for processing (e.g., decoding) the read data (e.g., sectors) and for providing the processed read data to thecontroller 104. For example, the processed read data is provided to thecontroller 104 as a second queue (e.g., Hard Drive (HD) queue) 116. - During processing of the plurality of sectors by the
read channel 102, thecontroller 104 is configured (e.g., via a sector-quality-sorting based scheduler of the controller) for sorting (e.g., prioritizing) sectors for dynamically determining an order in which the plurality of sectors are to be further processed. For example, thecontroller 104 implements the scheduler to sort the sectors based upon a sorting metric (e.g., quality metric). In embodiments, thecontroller 104 is configured for determining (e.g., calculating) and assigning a quality metric to each sector included in the plurality of sectors. Further, thecontroller 104 is configured for determining and assigning the quality metrics based upon a global iteration index of each sector included in the plurality of sectors. For example, if two sectors included in the plurality of sectors have a same number of USCs, but different global iteration indices, the sector of the two sectors which has the larger global iteration index is assigned a larger quality metric than the other sector of the two sectors. The sector of the two sectors which has the larger quality metric is identified by thecontroller 104 as being the lower quality sector of the two sectors and is given a lower priority for further processing (e.g., will be scheduled, prioritized and/or sorted in such a manner that it will undergo further processing after the higher quality sector undergoes further processing). For example, the quality metric is determined (e.g., calculated) using the following equation: -
(1+αg/g max)*USC - where g is global iteration index, gmax is maximum global iteration index, USC is number of USCs and α is a positive parameter needing to be tuned. Further, when two sectors included in the plurality of sectors have a same global iteration index, but a different number of USCs, the sector of the two sectors which has the larger number of USCs will be assigned a larger quality metric than the other sector of the two sectors.
- In embodiments, the
controller 104 is further configured for determining and assigning the quality metrics based upon trapping set characteristics of each sector included in the plurality of sectors. For example, when a first sector included in the plurality of sectors is identified by thecontroller 104 as having a trapping set error and a second sector included in the plurality of sectors is identified by thecontroller 104 as not having a trapping set error, the first sector (e.g., the sector identified as having the trapping set error) is assigned a larger quality metric than the second sector. This promotes processing efficiency of thesystem 100. - The
controller 104 is configured for determining and assigning the quality metrics to the plurality of sectors based upon a processing latency (e.g., time already spent waiting for further processing) for each sector included in the plurality of sectors. For example, the quality metric is determined (e.g., calculated) using the following equation: -
(1+αg/g max)*(1−βt/t max)*USC - where β is a parameter in (0,1), t is latency and tmax is maximum latency. In embodiments, when a first sector included in the plurality of sectors is identified by the
controller 104 as having a greater (e.g., longer) processing latency than a second sector included in the plurality of sector, the first sector is assigned a larger quality metric than the second sector. This effectively gives a higher priority for further processing to sectors having longer processing latency times (e.g., have been waiting for longer amounts of time to be processed further). - The
system 100 disclosed herein provides improved SFR performance over typical systems (e.g., codecs) without introducing extra track latency. In embodiments, thesystem 100 is configurable for operating in an out-of-order hard disk controller (HDQ) transfer mode for achieving large maximum global iteration in the sector-quality-sorting based scheduler. When thesystem 100 is configured in out-of-order HDQ transfer mode, converged sectors in HDQ are able to be transferred immediately (e.g., do not have to wait for the transfer of old sectors). Thesystem 100 is configured for implementing any of a number of various low density parity check (LDPC) codes and decoding algorithms for facilitating the immediate transfer of the converged sectors in HDQ. - In embodiments, the
system 100 is configured for providing system resource allocation based upon predicted bit flipping counts (e.g., predicted detector bit flipping counts, predicted decoder bit flipping counts). In embodiments, the relationship between detector bit flipping counts versus global iteration is predicted (e.g., extrapolated) by using a polynomial function, such as: -
a(x−b) - In embodiments, the relationship between decoder bit flipping counts versus global iteration is predicted by using a negative log function, such as:
-
y=a log(bx−c) - Based upon the above, bit flipping counts of a particular sector are predictable based on the sector's history. System resource allocation problems are reducible to a maximization problem of the bit flipping counts. The
system 100 disclosed herein implements scheduler rules for increasing (e.g., maximizing) bit flipping counts based on extrapolation and prediction of the bit flipping counts. Assuming there are k sectors in the system (e.g., queuing system) 100 and k changes over time, a goal is to optimize (e.g., in terms of maximizing the bit flipping counts or reducing the number of errors) a resource allocation scheme of thesystem 100, so that subsequent processed sectors provide a maximum error count decrease for a detector/decoder run. - In order to estimate error count reduction before running detector/decoder for a sector, extrapolation parameters a, b and c in the above-referenced extrapolation functions are to be estimated. In a low error rate regime, trapping set errors sometimes kick in. For a particular sector, an error count estimation calculated by the extrapolation functions is sometimes not informative. Error floor-related scheduling rules often occur. There are many ways of estimating the parameters a, b and c in the above-referenced log function and polynomial function. For example, given the bit flipping counts collected by a normal operation mode of the
system 100, a least square curve fitting, as set forth below, is used (e.g., solved) to estimate the extrapolation parameters: -
arg mina,b,c(f(a, b, c, x)−{circumflex over (f)}(x))2 - where f is either a detector extrapolation equation or a decoder extrapolation equation and is an average bit flipping count collected in the x-th global iteration. In embodiments, extrapolation parameters a, b and c are calculated by taking the derivative of the object function over a, b and c and setting them to be zero.
- In embodiments, when predicting bit flipping counts (e.g., error counts) reduction, for iteration x0, the following first order Taylor expansion approximation of the extrapolated function is used to estimate the bit flipping counts of the next decoder/detector run by the first order expansion of the extrapolation curve at x0:
-
Δf=df/dx*(x−x 0) - Based on the idea of promoting (e.g., maximizing) error count reduction, scheduler rules implemented by the
system 100 are as follows. For the detector (e.g., backend detector) 110, if no sector in the first (e.g., LE)queue 114 is ready for thedetector 110, and thefirst queue 114 has a free slot,detector 110 is configured for choosing a best sector in Y-buffer 106 to process. In embodiments, when one or more sectors in thefirst queue 114 are ready for thedetector 110, thedetector 110 chooses the sector which provides a maximum number of bit flipping counts in the next detector run to process. If no slot is free in thefirst queue 114, and no sectors in thefirst queue 114 are ready for thedetector 110, the detector is configured for waiting. For thedecoder 112, if one or more sectors in thefirst queue 114 are ready for thedecoder 112, thedecoder 112 is configured for first calculating a bit flipping count prediction for such sectors, then selecting a sector to process from amongst such sectors which has a maximum bit flipping count. If no sector in thefirst queue 114 is ready for thedecoder 112, thedecoder 112 is configured for waiting. -
FIG. 2 is a flowchart illustrating a method for sector prioritization in a read channel system. Themethod 200 includes the step of receiving a track of read data via a controller of the system, the track of read data including a plurality of sectors ofread data 202. The method further includes the step of processing the plurality of sectors ofread data 204. For example, theread channel 102 is configured for processing the plurality of sectors of read data. - The
method 200 further includes the step of, during processing of the plurality of sectors, dynamically determining an order in which each sector included in the plurality of sectors is to undergo further processing based upon at least one of: a global iteration index of the sector, trapping set characteristics of the sector and processing latency of thesector 206. For example, thecontroller 104 is configured for determining an order in which each sector included in the plurality of sectors is to undergo further processing based upon at least one of: a global iteration index of the sector, trapping set characteristics of the sector and processing latency of the sector. In embodiments, the step of dynamically determining the order in which each sector included in the plurality of sectors is to undergofurther processing 206 includes: determining and assigning a quality metric for each sector included in the plurality of sectors based upon at least one of: global iteration index of the sector, trapping set characteristics of the sector and processing latency of thesector 208. For example, in embodiments, thecontroller 104 is configured for determining and assigning a quality metric for each sector included in the plurality of sectors based upon at least one of: global iteration index of the sector, trapping set characteristics of the sector and processing latency of the sector. - The
method 200 further includes the step of, when a first sector and a second sector included in the plurality of sectors have a same number of unsatisfied checks, but the first sector has a first global iteration index and the second sector has a second global iteration index, the first global iteration index being a greater value than the second global iteration index, the first sector is assigned a first quality metric and the second sector is assigned a second quality metric, the first quality metric being different than thesecond quality metric 210. Themethod 200 further includes the step of, based upon the assigned first and second quality metrics, causing the second sector to undergo further processing prior to causing the first sector to undergofurther processing 212. For example, the second and first sectors undergo further processing by theread channel 102 of thesystem 100 and are processed in an order which is based upon the assigned quality metrics. - As an alternative to
steps method 200, in embodiments, includes the steps of: when a first sector included in the plurality of sectors is identified as having a trapping set error and a second sector included in the plurality of sectors is identified as not having a trapping set error, assigning a first quality metric to the first sector, assigning a second quality metric to the second sector, the first quality metric being different than thesecond quality metric 214; and based upon the assigned first and second quality metrics, causing the second sector to undergo further processing prior to causing the first sector to undergofurther processing 216. - As a further alternative to
steps method 200, in embodiments, includes the steps of: when a first sector included in the plurality of sectors has a first processing latency value and a second sector included in the plurality of sectors has a second processing latency value, the first processing latency value being greater than the second processing latency value, assigning a first quality metric to the first sector, assigning a second quality metric to the second sector, the first quality metric being different than thesecond quality metric 218; and based upon the assigned first and second quality metrics, causing the first sector to undergo further processing prior to causing the second sector to undergofurther processing 220. - Further, as mentioned above, it is also contemplated that in embodiments, the quality metrics are assigned based upon more than one of: global iteration index of the sector, trapping set characteristics of the sector and processing latency of the sector.
- It is to be noted that the foregoing described embodiments may be conveniently implemented using conventional general purpose digital computers programmed according to the teachings of the present specification, as will be apparent to those skilled in the computer art. Appropriate software coding may readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art.
- It is to be understood that the embodiments described herein may be conveniently implemented in forms of a software package. Such a software package may be a computer program product which employs a non-transitory computer-readable storage medium including stored computer code which is used to program a computer to perform the disclosed functions and processes disclosed herein. The computer-readable medium may include, but is not limited to, any type of conventional floppy disk, optical disk, CD-ROM, magnetic disk, hard disk drive, magneto-optical disk, ROM, RAM, EPROM, EEPROM, magnetic or optical card, or any other suitable media for storing electronic instructions.
- Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/650,479 US8705192B1 (en) | 2012-10-12 | 2012-10-12 | Enhanced quality-sorting scheduler |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/650,479 US8705192B1 (en) | 2012-10-12 | 2012-10-12 | Enhanced quality-sorting scheduler |
Publications (2)
Publication Number | Publication Date |
---|---|
US20140104720A1 true US20140104720A1 (en) | 2014-04-17 |
US8705192B1 US8705192B1 (en) | 2014-04-22 |
Family
ID=50475106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/650,479 Active 2032-11-03 US8705192B1 (en) | 2012-10-12 | 2012-10-12 | Enhanced quality-sorting scheduler |
Country Status (1)
Country | Link |
---|---|
US (1) | US8705192B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150100855A1 (en) * | 2013-10-07 | 2015-04-09 | Agency For Science, Technology And Research | Normalization factor adaptation for ldpc decoding for hard disk drive systems |
CN109716549A (en) * | 2016-09-22 | 2019-05-03 | 罗门哈斯电子材料韩国有限公司 | Organnic electroluminescent device comprising electron buffer layer and electron transfer layer |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9257134B1 (en) | 2014-12-24 | 2016-02-09 | Western Digital Technologies, Inc. | Allowing fast data zone switches on data storage devices |
US9653111B1 (en) | 2015-11-23 | 2017-05-16 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Track quality classifier |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740358A (en) * | 1992-06-25 | 1998-04-14 | Cirrus Logic, Inc. | Defect management and split field processing in disk storage systems |
US5606466A (en) * | 1995-10-23 | 1997-02-25 | Quantum Corporation | Method for overlapping block read events in disk drive |
DE60035437T2 (en) * | 1999-07-29 | 2008-03-13 | Matsushita Electric Industrial Co., Ltd., Kadoma | INFORMATION RECORDER / PLAYER AND METHOD USING AN OPTICAL PLATE |
WO2002009109A1 (en) * | 2000-07-21 | 2002-01-31 | Fujitsu Limited | Disk recording device, sector alternating method for recording disk, and recording disk |
US7274639B1 (en) * | 2004-05-21 | 2007-09-25 | Western Digital Technologies, Inc. | Disk drive performing multi-level prioritization of entries in a suspect sector list to identify and relocate defective data sectors |
JP2006269027A (en) * | 2005-03-25 | 2006-10-05 | Hitachi Global Storage Technologies Netherlands Bv | Data storage device |
JP2007184046A (en) * | 2006-01-10 | 2007-07-19 | Hitachi Global Storage Technologies Netherlands Bv | Rotary disk type storage device and recording method |
JP2009223996A (en) * | 2008-03-18 | 2009-10-01 | Fujitsu Ltd | Recording device |
US7929234B1 (en) * | 2009-03-27 | 2011-04-19 | Western Digital Technologies, Inc. | Disk drive prioritizing in-the-field defect scanning based on number of write operations in each of a plurality of defect zones |
US20110083058A1 (en) * | 2009-10-01 | 2011-04-07 | Stmicroelectronics, Inc. | Trapping set based ldpc code design and related circuits, systems, and methods |
US8805967B2 (en) * | 2010-05-03 | 2014-08-12 | Panzura, Inc. | Providing disaster recovery for a distributed filesystem |
-
2012
- 2012-10-12 US US13/650,479 patent/US8705192B1/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150100855A1 (en) * | 2013-10-07 | 2015-04-09 | Agency For Science, Technology And Research | Normalization factor adaptation for ldpc decoding for hard disk drive systems |
US9548762B2 (en) * | 2013-10-07 | 2017-01-17 | Agency For Science, Technology And Research | Normalization factor adaptation for LDPC decoding for hard disk drive systems |
CN109716549A (en) * | 2016-09-22 | 2019-05-03 | 罗门哈斯电子材料韩国有限公司 | Organnic electroluminescent device comprising electron buffer layer and electron transfer layer |
Also Published As
Publication number | Publication date |
---|---|
US8705192B1 (en) | 2014-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1072970B1 (en) | A method and system for issuing commands to and ordering commands on a disk drive | |
JP5970645B2 (en) | Increasing spare area in memory to extend memory life | |
US8705192B1 (en) | Enhanced quality-sorting scheduler | |
US20140229799A1 (en) | Statistical adaptive error correction for a flash memory | |
JP2012524952A (en) | Method and apparatus for implementing a caching policy for non-volatile memory | |
US9098105B2 (en) | Dynamic Y-buffer size adjustment for retained sector reprocessing | |
US8539176B2 (en) | Data storage devices accepting queued commands having deadlines | |
JP2010541107A (en) | Solid state drive optimizer | |
US9385756B2 (en) | Data processing system with retained sector reprocessing | |
JP5415638B2 (en) | System and method for dual processing of binary decoding and non-binary decoding | |
US8937780B2 (en) | Error recovery procedure (ERP) using estimated best setting in first run | |
JP2018160056A (en) | Memory controller, memory system, and control method | |
KR101547858B1 (en) | Systems and methods for symbol re-grouping decoding processing | |
US8762815B2 (en) | Systems and methods for data decoder state preservation during extended delay processing | |
US8850289B2 (en) | Quality based priority data processing with soft guaranteed iteration | |
US11341998B1 (en) | Hardware-based read sample averaging | |
US8634152B1 (en) | Systems and methods for throughput enhanced data detection in a data processing circuit | |
US20140032999A1 (en) | Systems and Methods for Information Divergence Based Data Processing | |
US9384778B2 (en) | Online iteration resource allocation for large sector format drive | |
US9019647B2 (en) | Systems and methods for conditional positive feedback data decoding | |
US9058842B2 (en) | Systems and methods for gate aware iterative data processing | |
US8996970B2 (en) | Systems and methods for positive feedback short media defect detection | |
TW201349756A (en) | Systems and methods for data processing including EET feedback | |
CN116954478A (en) | Method and device for processing read-write request | |
TW201346579A (en) | Systems and methods for out of order data reporting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LSI CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHANG, FAN;JIN, MING;XIAO, JUN;AND OTHERS;SIGNING DATES FROM 20120917 TO 20120918;REEL/FRAME:029120/0204 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AG Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:LSI CORPORATION;AGERE SYSTEMS LLC;REEL/FRAME:032856/0031 Effective date: 20140506 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LSI CORPORATION;REEL/FRAME:035390/0388 Effective date: 20140814 |
|
AS | Assignment |
Owner name: LSI CORPORATION, CALIFORNIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039 Effective date: 20160201 Owner name: AGERE SYSTEMS LLC, PENNSYLVANIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039 Effective date: 20160201 |
|
AS | Assignment |
Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:037808/0001 Effective date: 20160201 Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:037808/0001 Effective date: 20160201 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041710/0001 Effective date: 20170119 Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041710/0001 Effective date: 20170119 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:047230/0910 Effective date: 20180509 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:047351/0384 Effective date: 20180905 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:049248/0558 Effective date: 20180905 |
|
AS | Assignment |
Owner name: BROADCOM INTERNATIONAL PTE. LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED;REEL/FRAME:053771/0901 Effective date: 20200826 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED, SINGAPORE Free format text: MERGER;ASSIGNORS:AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED;BROADCOM INTERNATIONAL PTE. LTD.;REEL/FRAME:062952/0850 Effective date: 20230202 |