Patent Description:
Electronic devices provide many services to modern society. These services enable an electronic device to provide entertainment, assist with scientific research and development, and provide many modern-day conveniences. Many of these services create or use data, which the electronic device stores. This data may include digital media such as books or movies, algorithms that execute complex simulations, personal user data, applications, and so forth. To avoid exceeding data storage limits, it is beneficial to increase the data storage capacity of the electronic device and avoid deleting data, limiting services, or purchasing additional external storage devices.

Many electronic devices use media drives to store data on disks, such as a hard-disk drive. Generally, the data of each disk is organized along concentric tracks of magnetic media in which individual bits of the data are written. To accommodate greater amounts of user data, data densities per media disk have increased substantially, shrinking physical geometries of both the tracks and bits written on the magnetic media. In some cases, track and bit sizes have shrunk such that a write head of a hard-disk drive is much larger than the individual data bits it writes on the magnetic media of the disk. The larger relative size of the write head can cause issues when writing magnets to the storage media, particularly when current of the write head ramps up and remains at a high level to write long magnets, such as for a string of consecutive ones or zeros. This not only consumes extra power to continuously or repeatedly overwrite magnet portions with a same polarity but can also degrade data bits of neighboring tracks with excess magnetic fields induced by the continuously applied write current.

"<NPL> discloses Run-length limited (RLL) coding. The technique is used in both telecommunication and storage systems which employ a medium moving past a fixed recording head. RLL limits the maximum length of runs of repeated bits during which the signal does not change. RLL employs data modulation in order to reduce the timing uncertainty in decoding the data, which might lead to a possibly erroneous insertion or removal of bits when reading the data back. DC Free (<NUM>,<NUM>) RLL, for example, maps <NUM> bits of data onto three bits on the disk such that the encoding has a minimum of one zero and a maximum of seven zeroes between consecutive ones, wherein the encoding is done in two or four bit groups. The encoding includes bits which are the complement of the previous encoded bit, i.e. <NUM> if the previous bit was <NUM>, and <NUM> if the previous bit was <NUM>.

<CIT> discloses a power-tailored write-current method of generating an encoded signal from a sequential stream of digital data. The encoded signal has a non-power carrying null state and a power carrying active state with two opposing polarities. The method further teaches adding equalization pulses during strings of consecutive logical zero bits to keep the encoded signal from remaining in the null state for extended periods since NRZI encoding has a limitation in tape drive and disk drive applications when presented with long strings of logical zero bites.

<CIT> discloses a tape recorder having a group of write heads which are arranged like a matrix in rows and columns, with each write head assigned in one row line and in one column line, and having a driver circuit for passing current through the row and column lines. A write head magnetizes a magnetic tape permanently only when its associated row and column lines have currents applied to them causing magnetic fields that reinforce one another in the magnetic tape.

It is the object of the present invention to automatically perform functions of membership management.

This summary is provided to introduce subject matter that is further described in the Detailed Description and Drawings. Accordingly, this Summary should not be considered to describe essential features nor used to limit the scope of the claimed subject matter.

The details of one or more implementations are set forth in the accompanying drawings and the following description.

The details of one or more implementations of pulse-based writing for magnetic storage media are set forth in the accompanying figures and the detailed description below. In the figures, the left-most digit of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different instances in the description and the figures indicates like elements:.

Conventional techniques for writing data to magnetic media of a disk often provide continuous current of one polarity or another to a write head by which the data is written to the magnetic media. Generally, the data of each disk is organized along concentric tracks of magnetic media in which individual bits of the data are written. As data densities per media disk have increased substantially, the physical geometries of both the tracks and bits written on the magnetic media have shrunk. With current drive technology, the write head of a hard-disk drive is typically much larger than the individual data bits it writes on the magnetic media of the disk. The larger relative size of the write head can cause issues when writing magnets to the storage media, particularly when the continuous current of the write head ramps up to one polarity and remains at a high level to write long magnets, such as for a string of consecutive ones or zeros. This not only consumes extra power to continuously or repeatedly overwrite magnet portions with a same polarity but can also degrade data bits of neighboring tracks with excess magnetic fields induced by the continuously applied write current.

This disclosure describes apparatuses and techniques of pulse-based writing for magnetic storage media. In contrast with conventional magnet writing techniques, the described apparatuses and techniques may implement pulse-based writing in which current of a magnetic media write head may be pulsed, such as based on bit transitions or control signals, to more efficiently write magnets or reduce distortion of data in neighboring tracks. For example, a magnetic media write head is typically longer than a length of an individual bit, e.g., linear density in magnetic recording is approaching 2500kbpi (kilo-bits per inch), which means a size of an individual bit is on the order of <NUM> nanometers (<NUM>). In contrast, a footprint or effective length of the write head may be significantly longer, e.g. <NUM>. Due to this difference in size, when the write head (media writer) has a particular magnetization polarity, it often magnetizes an area under the write head that corresponds to several data bits according to this polarity. In other words, the write head writes, during or in each bit period, the area of <NUM>-<NUM> consecutive bits with the one polarity as ones or zeros.

Because of this, aspects of pulse-based writing may permit the media writer to forgo or avoid providing additional magnetic field once the media has been magnetized to the desired polarity. As such, pulse-based writing for magnetic storage media may enable more efficient writing by reducing (e.g., relaxing) or turning off the write current provided to a write head. In various aspects of pulse-based writing, a pulse-based writer may provide write current to, or a magnetic field at, a write head for a short duration of time when a transition in the magnetic field is desired to alter a polarization of the magnetic media. For example, if a total length of consecutive bits having a same polarity exceeds a threshold or the length of the write head, then an additional pulse may be added or implemented at the write head to magnetize magnetic media that was not magnetized by the previous pulse (e.g., at a start of the consecutive bits).

With respect to write head geometry, the footprint of the write head may be on the order of <NUM>-<NUM> bits long, therefore able to write one bit (1T - T being a period of time to write a single bit magnet) or four bits (4T) with the same amount of current or effort. That is, once the first bit is written at the trailing edge of the write head, the write head has already written four bits (4T) of magnet or a longer magnet on the magnetic media under the write head. As such, a single pulse of write current is often sufficient to generate magnets of four to six bits (4T-6T) length and less. In other words, a single pulse of current or write field may be sufficient to write 4T and shorter magnets, with additional pulses enabling the writing of longer magnets. For example, providing a pulse of current or write field every 4T or 6T may enable the writing of longer magnets, such as for long strings of ones or zeroes in write data.

Generally, a read/write channel (or "read channel") of a magnetic media drive provides, to a pre-amplifier of the drive, a signal corresponding to a data pattern intended for writing on the media. The pre-amplifier (or pre-amp) circuit then generates or provides a write current to a write head of the media drive with a pattern of polarity corresponding to the data pattern. Based on the signal pattern provided by the read channel, the pre-amplifier changes the polarity of the write current that is sent to the write head. The pre-amplifier may also provide an overshoot current at or proximate to polarity changes to quicken a change of magnetic field of the write head. In aspects of pulse-based writing, a write mode may be enabled by which write current is provided as a pulse of current or over-shoot current on these transitions (or series of current pulses to write long or different polarity magnets).

In aspects of pulse-based writing, a pulse-based writer implemented with the read channel and/or pre-amp circuitry may manage the write current provided to a write head to implement pulse-based writing and/or current relaxation. In some cases, the pre-amp may effectively turn off the write current (e.g., Iw or steady-state write current) after providing a pulse of overshoot write current (e.g., Iw + OSA or Iw plus overshoot). To enable an aspect of pulse-based writing, pulsing away from transitions in a data pattern may be facilitated by injecting two transitions (e.g., fake transitions or a fake bit(s)) in signaling provided by the read channel to pre-amp, with an additional control signal to indicate to the pre-amp to inhibit or prevent pulsing when the control signal is active (e.g., high).

In other words, if the control signal is high, the pre-amp does not generate a write pulse, which enables the generation of multiple (e.g., periodic) pulses for long magnets. For example, for a first transition, the pulse-based writer may assert the control signal high (to prevent a pulse on the leading transition) and deassert the control signal low for the second transition to provide or generate a pulse of a same polarity of a preceding pulse (e.g., a pulse at a start of the magnet) at the second transition. Alternately or additionally, if the pre-amp is implemented with a memory, then consecutive pulses of a same polarity may have lower amplitude, and as such, the pre-amp would need to know its state (e.g., to compensate for the lower amplitude with overshoot).

Some aspects described in this disclosure may also include write current relaxation which may turn off or set write current to a pre-bias state (non-Iw state). In some cases, the write current or magnetic field (write field) is turned off towards or proximate to the end of a long magnet written (e.g., consecutive bits written with a same polarity) to the magnetic storage media. For example, if <NUM> consecutive bits (10T) are written with the same polarity, then the magnetic field may be applied for a duration (or pulsed) for the first five or six bits (5T-6T), and then the write field may be relaxed or reduced to <NUM> or a pre-bias state (e.g., for a next transition). Because the full 10T of bits are written by the fifth or sixth bit, due to write head size, the write field is no longer needed to write the last four or five bits (4T-5T). By so doing, the magnetic media writer may be prepared (e.g., avoiding a full positive to negative write current swing) for a transition to opposite polarity, thus providing a faster or cleaner transition on a next magnet. Alternately or additionally, another benefit of write current relaxation and pulse-based writing is that the magnetic field is not applied when the magnetic field is not needed (e.g., for long magnets), and this may in turn reduce the effect the magnetic field has on previously written data on neighboring data tracks, such as reduced degradation or distortion.

In various aspects of pulse-based writing for magnetic storage media, a pulse-based writer may determine that a string of data bits having a same polarity corresponds to a magnet longer than a threshold associated with a magnetic media writer. The pulse-based writer inserts, into the string of data bits, a transition to a polarity opposite to the same polarity of the string of data bits. The string of data bits including the inserted transition is then transmitted to the magnetic media writer to cause a write head of the magnetic media writer to pulse while writing the magnet to magnetic storage media. Various aspects may also implement a control signal to mask a transition or provide an indication of signal polarity of the magnetic media writer. By so doing, the pulse-based writer may write magnets (e.g., long magnets or magnets that exceed write head dimensions) to the magnetic storage media more efficiently and with less degradation to data bits written on neighboring tracks.

The following discussion describes an operating environment, techniques that may be employed in the operating environment, and a System-on-Chip (SoC) in which components of the operating environment can be embodied. In the context of the present disclosure, reference is made to the operating environment by way of example only.

<FIG> illustrates an example operating environment <NUM> having a computing device <NUM>, capable of storing or accessing various forms of data or information. Examples of a computing device <NUM> may include a laptop computer <NUM>, desktop computer <NUM>, and server <NUM>, any of which may be configured as part of a storage network or cloud storage. Further examples of a computing device <NUM> (not shown) may include a tablet computer, a set-top-box, a data storage appliance, wearable smart-device, television, content-streaming device, high-definition multimedia interface (HDMI) media stick, smart appliance, home automation controller, smart thermostat, Internet-of- Things (IoT) device, mobile-internet device (MID), a network-attached-storage (NAS) drive, aggregate storage system, gaming console, automotive entertainment device, automotive computing system, automotive control module (e.g., engine or power train control module), and so on.

Generally, the computing device <NUM> may provide, communicate, or store data for any suitable purpose, such as to enable functionalities of a particular type of device, provide a user interface, enable network access, implement gaming applications, playback media, provide navigation, edit content, provide data storage, or the like. Alternately or additionally, the computing device <NUM> is capable of storing various data, such as databases, user data, multimedia, applications, operating systems, and the like. One or more computing devices <NUM> may be configured to provide remote data storage or services, such as cloud storage, archiving, backup, client services, records retention, and so on.

The computing device <NUM> includes a processor <NUM> and computer-readable storage media <NUM>. The processor <NUM> may be implemented as any suitable type or number of processors, either single-core or multi-core (e.g., ARM or x86 processor cores), for executing instructions or commands of an operating system or other programs of the computing device <NUM>. The computer-readable storage media <NUM> (CRM <NUM>) includes memory media <NUM> and a media drive <NUM>. The memory media or system memory of the computing device <NUM> may include any suitable type or combination of volatile memory or nonvolatile memory. For example, volatile memory of the computing device <NUM> may include various types of random-access memory (RAM), dynamic RAM (DRAM), static RAM (SRAM) or the like. The non-volatile memory may include read-only memory (ROM), electronically erasable programmable ROM (EEPROM) or Flash memory (e.g., NOR Flash or NAND Flash). These memories, individually or in combination, may store data associated with applications and/or an operating system of computing device <NUM>.

The media drive <NUM> of the computing device <NUM> may include one or more media drives or be implemented as part of a data storage system with which the computing device <NUM> is associated. In this example, the media drive <NUM> includes a hard-disk drive <NUM> (HDD <NUM>), which is capable of storing data and is described with reference to various aspects of pulse-based writing. Alternately or additionally, the media drive <NUM> may be configured as any suitable type of data storage drive or system, such as a storage device, storage drive, storage array, storage volume, or the like. Although described with reference to the computing device <NUM>, the media drive <NUM> may also be implemented separately as a standalone device or as part of a larger storage collective, such as a data center, server farm, or virtualized storage system (e.g., for cloud-based storage or services) in which aspects of pulse-based writing are implemented.

The computing device <NUM> may also include I/O ports <NUM>, a graphics processing unit (GPU, not shown), and data interfaces <NUM>. Generally, the I/O ports <NUM> allow a computing device <NUM> to interact with other devices, peripherals, or users. For example, the I/O ports <NUM> may include or be coupled with a universal serial bus, human interface devices, audio inputs, audio outputs, or the like. The GPU processes and renders graphics-related data for computing device <NUM>, such as user interface elements of an operating system, applications, or the like. In some cases, the GPU accesses a portion of local memory to render graphics or includes dedicated memory for rendering graphics (e.g., video RAM) of the computing device <NUM>.

The data interfaces <NUM> of the computing device <NUM> provide connectivity to one or more networks and other devices connected to those networks. The data interfaces <NUM> may include wired interfaces, such as Ethernet or fiber optic interfaces for data communicated over a local network, intranet, or the Internet. Alternately or additionally, the data interfaces <NUM> may include wireless interfaces that facilitate communication over wireless networks, such as wireless LANs, wide-area wireless networks (e.g., cellular networks), and/or wireless personal-area-networks (WPANs). Any of the data communicated through the I/O ports <NUM> or the data interfaces <NUM> may be written to or read from the storage system of the computing device <NUM> in accordance with one or more aspects of pulse-based writing for magnetic storage media.

Returning to the media drive <NUM>, the computing device <NUM> may include the hard-disk drive <NUM> as shown and/or other types of storage media on which pulse-based writing may be implemented. Although not shown, other configurations of the media drive <NUM> are also contemplated, such as a solid-state drive (SSD), a magnetic tape drive, optical media drives, HDD/SSD hybrid drives, and other storage systems that write data to storage media (e.g., magnetic or optical storage media). Alternately or additionally, the computing device <NUM> may include an array of media drives or serve as a media drive aggregation device or host for multiple media drives in which aspects of pulse-based writing may be implemented.

In this example, the disk drive <NUM> includes a head-disk assembly <NUM> (HDA <NUM>) and drive control module <NUM> to implement or enable functionalities of the hard-disk drive <NUM>. In some cases, the drive control module <NUM> is implemented as a printed circuit board assembly (PCBA) with semiconductor devices, logic, or other circuitry. The HDA <NUM> includes one or more media disks <NUM> mounted on an integrated spindle and motor assembly <NUM>. The spindle and motor assembly <NUM> may rotate the media disk <NUM> under (or over) read/write heads <NUM> coupled with a head assembly (not shown) of the HDA <NUM>. The media disks <NUM> may be coated with a magnetically hard material (e.g., a particulate surface or a thin-film surface) and may be written to, or read from, a single side or both sides.

The read/write heads <NUM> may be operably coupled with a pre-amplifier/writer module <NUM> (pre-amp/writer <NUM>) of the HDA <NUM> that includes pre-amplifier circuitry and an instance of pulse-based writing circuitry <NUM>. The pre-amp/writer <NUM> may receive or store head selection, amplification, or sense current values useful for writing data to, or reading data from, the magnetic media <NUM>. The pulse-based writing circuitry <NUM> may be configured to function in concert or coordination with other components of the hard-disk-drive <NUM> to implement aspects of pulse-based writing. How the pulse-based writing circuitry <NUM> is implemented and used varies and is described throughout this disclosure.

As shown in <FIG>, the example drive control module <NUM> of the hard-disk drive <NUM> may include a storage media controller <NUM>, a servo control unit <NUM>, and a read/write channel <NUM> (R/W channel <NUM>). In some aspects, the read/write channel <NUM> includes a pulse-based writer <NUM> to generate, manage, or alter various signals or data (e.g., encoded bit stream) to implement features of pulse-based writing for magnetic storage media. How the pulse-based writer <NUM> is implemented and used varies and is described throughout this disclosure. Generally, the drive control module <NUM> may direct or use the servo control unit <NUM> to control mechanical operations, such as read/write head <NUM> positioning through the HDA <NUM> and rotational speed control through the spindle and motor assembly <NUM>. The drive control module <NUM> or components thereof may be implemented as one or more IC chips, a System-on-Chip, a System-in-Package, or a microprocessor provided with or implementing a hard-disk-drive controller. The drive control module <NUM> may also include drive electronics (not shown) and/or include various interfaces, such as a host-bus interface, storage media interface, spindle interface, or a pre-amp/writer interface.

By way of example, consider <FIG> which provides an example configuration of the hard-disk drive <NUM>, illustrated generally at <NUM>. As shown in <FIG>, the HDA <NUM> of the hard-disk drive <NUM> includes an integrated spindle and motor assembly <NUM> by which media disks <NUM> of magnetic media <NUM> are supported and/or operated. An arm <NUM> may maneuver, and thus position a read/write head <NUM> (or multiple read/write heads <NUM>) over a desired track <NUM> of the magnetic media <NUM> on the media disk <NUM>. In various aspects, the read/write head <NUM> may include various numbers of head elements with combined or separate functions (e.g., dedicated R/W functions). For example, the read/write head <NUM> may include one or more readers (read heads/elements) and one writer (write head/element). In other cases, the read/write head <NUM> may include a dedicated write head (element) and one or more separate, additional dedicated read heads (elements). Alternately or additionally, although multiple arms <NUM> are shown in <FIG>, the HDA <NUM> or spindle and motor assembly may be implemented with a single arm <NUM> or other suitable structures for positing the read/write head <NUM>. The HDA <NUM> and the drive control module <NUM> may be implemented separately, on separate substrates, and/or as separate PCBAs of a media drive. Signals or data communicated between the HDA <NUM> and the drive control module <NUM> may be carried through a flexible printed cable or other suitable connective structures, such as traces, connectors, bond wires, solder balls, or the like.

<FIG> also includes an illustration of example magnets <NUM> written to the magnetic media <NUM> of a media disk <NUM>. One or more of the read/write heads <NUM> may write magnets to respective ones of the tracks <NUM> of a media disk <NUM>, where sectors are provided for each of the tracks (e.g., a sector of tracks <NUM>). For illustrative purposes, a top media disk <NUM> is shown to include tracks <NUM>, for example, after being written with magnets <NUM> by a read/write head <NUM>. Generally, during write operations, the read/write head <NUM> may be driven by a write current provided by the pre-amp/writer <NUM>, whereby an electrical signal is used to generate and/or transfer magnetic fields having associated polarities to the media disk <NUM>. In response to application of the magnetic fields or write fields, the read/write head <NUM> may form a plurality of magnets <NUM> in magnetic grains of the tracks <NUM> of the media disk <NUM>. The HDA <NUM> of the hard-disk drive <NUM> may be configured to perform write operations in accordance with any suitable recording technology, such as perpendicular magnetic recording (PMR), shingled magnetic recording (SMR), heat-assisted magnetic recording (HAMR), microwave assisted magnetic recording (MAMR), or the like.

As shown at <NUM>, a write head <NUM> (or read/write head <NUM> when combined) may write, generate, or polarize one or more magnets in the magnetic media <NUM> under the write head <NUM>. With respect to write head geometry, assume that the write head <NUM> is approximately as long, either physically or equivalently through an effective magnetic field, as <NUM> magnets or 6T (magnet periods or magnetic write periods). In this example and in accordance with aspects of pulse-based writing, the pre-amp/writer <NUM> writes a magnet <NUM> with a first polarity (shaded), which may correspond to a first bit encoding (e.g., negative transition, encoding a "<NUM>", or zero (<NUM>) value). To write the magnet <NUM>, the pre-amp/writer <NUM> provides a first pulse of write current having a first polarity to the write head <NUM> to generate a first magnetic field <NUM> to generate or form the magnet <NUM>. Note that the first magnetic field <NUM> writes, based on the first pulse of write current, not only magnet <NUM> but the following five magnets <NUM> with the same polarity.

As shown during the next bit writing period (T+<NUM>), the pre-amp/writer <NUM> writes a magnet <NUM> with a second polarity (non-shaded), which may correspond to a second bit encoding (e.g., positive transition, encoding a "<NUM>", or one (<NUM>) value). To write magnet <NUM>, the pre-amp/writer <NUM> provides a second pulse of write current having a second polarity to the write head <NUM> to generate a second magnetic field <NUM> to generate or form the magnet <NUM>. Here, note that the second magnetic field <NUM> writes, based on the second pulse of write current, not only magnet <NUM> but the following five magnets <NUM> with the same polarity. In other words, in aspects of pulse-based writing, once the first bit is written at the trailing edge of the write head <NUM>, the write head has already written six bits (6T) of magnet or a longer magnet on the magnetic media under the write head. As such, a single pulse of write current is often sufficient to generate magnets of four to six bits (4T-6T) length and less. Thus, a single pulse of current or write field is sufficient to write 4T and shorter magnets, with additional pulses enabling the writing of longer magnets. In aspects of pulse-based writing, providing a pulse of current or write field every 4T or 6T may enable the writing of longer magnets, such as for long strings of ones or zeroes more efficiently or with less distortion to data of neighboring tracks.

<FIG> illustrates example configurations of a read/write channel and pre-amplifier generally at <NUM>, which are implemented in accordance with one or more aspects of pulse-based writing for magnetic storage media. In this example, the pulse-based writer <NUM> is operably coupled with the read/write channel <NUM> and the pulse-based writing circuitry <NUM> is operably coupled with the pre-amp/writer <NUM> (pre-amp <NUM>). Although shown in <FIG> as separate components or circuitry, the pulse-based writer <NUM> and pulse-based writing circuitry <NUM> may be integrated as one component, separated among other components of the hard-disk drive <NUM>, and/or integrated with other microelectronics or circuitry of the pre-amp <NUM> and/or the read/write channel <NUM>.

In this example, a host interface <NUM> provides write data <NUM> or other information to the read/write channel <NUM> or a storage media controller on which the read/write channel <NUM> is embodied. Generally, the read/write channel <NUM> provides, to the pre-amp <NUM> of a media drive, pre-amp data <NUM>, which may include a signal corresponding to a data pattern intended for writing on the media. In aspects of pulse-based writing, the pulse-based writer <NUM> may alter the pre-amp data <NUM> sent to the pre-amp <NUM>, such as by inserting transitions, altering bit polarities, inserting fake bits, or any combination of the like. The pulse-based writer <NUM> may also generate or cause the read/write channel to generate a control signal <NUM> for the pre-amp <NUM>. In some cases, the pulse-based writer <NUM> may generate a control signal <NUM> to mask transitions, inhibit or prevent pulsing by the pre-amp <NUM>, or to control or provide an indication of polarity or a state of polarity modification (e.g., for pre-amp data <NUM> signals).

For example, in some aspects of pulse-based writing, pulsing away from transitions in a data pattern may be facilitated by the pulse-based writer <NUM> injecting two transitions in signaling (pre-amp data <NUM>) provided by the read/write channel <NUM> to the pre-amp <NUM>, with an additional control signal (control signal <NUM>) to indicate to the pre-amp <NUM> to inhibit or prevent pulsing when the control signal is active (e.g., high). In other words, if the control signal is high, the pre-amp <NUM> does not generate a write pulse, which enables the generation of multiple (e.g., periodic and/or of same polarity) pulses for long magnets. For example, for a first transition, the pulse-based writer <NUM> may assert the control signal <NUM> high and deassert the control signal low for the second transition to provide or generate a pulse of a same polarity of a preceding pulse (e.g., a pulse at a start of the magnet) at the second transition.

Generally, the pre-amp <NUM> or pre-amp circuitry <NUM> generates or provides a write current to the write head <NUM> of the media drive with the pattern of polarity or transitions corresponding to the pre-amp data <NUM> (modified or not) and/or control signal <NUM> for pulse-based writing. Based on the data and/or control signals pattern provided by the read/write channel <NUM> and pulse-based writer <NUM>, the pre-amp <NUM> may generate pulses, or change polarity of, the write current that is sent to the write head <NUM>. As described herein, the pre-amp <NUM> may also provide an overshoot current at, or proximate, polarity changes to quicken a change of magnetic field of the write head. Alternately or additionally, the pre-amp circuitry <NUM> may also implement other write controls, such as an overshoot level adjustment, overshoot duration, write-current baseline level, rise/fall speeds for pulse-writing transitions, or the like.

The write current generated by the pre-amp <NUM>, or a pulse-based write current <NUM> as shown in <FIG>, may be provided to a corresponding write head <NUM> for the magnetic media <NUM>. Based on the pulse-based current <NUM>, the write head <NUM> may generate a pulsed magnet writing field <NUM> to form magnets that correspond to the pre-amp data <NUM> or any suitable form of signaling or encoding for data received from the host interface <NUM>. For example, the pulsed magnet writing field <NUM> pulse on transitions of pre-amp data bits to write or form respective magnets of corresponding polarity in the magnetic media <NUM>. In various aspects, the pre-amp <NUM> may cause or generate the pulsed magnet writing field <NUM> to write long magnets with multiple pulses that form or polarize respective sections (e.g., multiple bits) of a long magnets, such as 4T or 5T sections.

In some aspects, the pulse-based writer <NUM> may also implement write current relaxation, which may turn off or set write current to a pre-bias state (non-Iw state). In some cases, the pulse-based writer <NUM> turns off the write current or magnetic field (write field) towards or proximate to an end of a long magnet written (e.g., consecutive bits written with a same polarity) to the magnetic storage media. By so doing, the read/write channel <NUM> and/or pre-amp <NUM> may be prepared (e.g., avoiding a full positive to negative write current swing) for a transition of the write current or pulse to opposite polarity, thus providing a faster or cleaner transition on a next magnet. For example, the pulse-based writer <NUM> may cause the pre-amp <NUM> or pulse-based writing circuitry <NUM> to provide relaxed write current <NUM> and/or pulse-based write current <NUM> to the write head <NUM> in accordance with various aspects described herein. In some cases, a benefit of write current relaxation or pulse-based writing implemented by the pulse-based writer <NUM> may include that the magnetic field is not applied when the magnetic field is not needed (e.g., for long magnets), and this may in turn reduce an effect the magnetic field has on previously written data on neighboring data tracks, such as reduced degradation or distortion.

The following discussion describes techniques of pulse-based writing for magnetic storage media, which may improve writing efficiency or reduce distortion of previously written data in neighboring tracks. These techniques may be implemented using any of the environments and entities described herein, such as the pre-amp/writer <NUM>, pulse-based writing circuitry <NUM>, read/write channel <NUM>, or pulse-based writer <NUM>. These techniques include methods illustrated in <FIG>, <FIG>, <FIG>, <FIG>, and <FIG>, each of which is shown as a set of operations performed by one or more entities.

These methods are not necessarily limited to the orders of operations shown in the associated figures. Rather, any of the operations may be repeated, skipped, substituted, or re-ordered to implement various aspects described herein. Further, these methods may be used in conjunction with one another, in whole or in part, whether performed by the same entity, separate entities, or any combination thereof. For example, aspects of the methods described may be combined to implement pulse-based writing for magnetic media with a combination of injected transitions, transition masking, polarity control, modified pre-amp data, and/or write current relaxation. In portions of the following discussion, reference will be made to the operating environment <NUM> of <FIG>, entities of <FIG> and/or <FIG>. Such reference is not to be taken as limiting described aspects to the operating environment <NUM>, entities, configurations, or implementations, but rather as illustrative of one of a variety of examples. Alternately or additionally, operations of the methods may also be implemented by or with entities described with reference to the System-on-Chip of <FIG> and/or the storage media controller of <FIG>.

<FIG> depicts a method <NUM> for implementing pulse-based writing of magnetic storage media, including operations performed by or with the pulse-based writing circuitry <NUM>, read/write channel <NUM>, and/or pulse-based writer <NUM>.

At <NUM>, a pulse-based writer determines that a string of data bits having a same polarity corresponds to a magnet longer than a threshold associated with a magnetic media writer. The threshold may correspond with or be based on a geometry of a write head of the magnetic media writer, such as approximately a length of the write head or one or more bits shorter (e.g., 4T for a 5T long write head). In some cases, a number of consecutive bits of the same polarity are compared with a predefined threshold. As described herein, the predefined threshold may be defined based on the geometry of the write head or the geometry of magnets that are written to the magnetic storage media. In such cases, the predefined threshold may correspond to an approximate length or an effective length of the write head with respect to a length of the magnets. For example, the predefined threshold may be set to enable determinations or detections of magnets that meet or exceed four to six bit periods or magnet periods (e.g., 4T, 5T, or 6T).

At <NUM>, the pulse-based writer inserts, into the string of data bits, at least one transition to a polarity opposite to the polarity of the string of data bits. In some cases, the pulse-based writer inserts pairs of fake transitions or bits that are effective to cause the magnetic media writer to generate pulses of write current. In some cases, a first transition and a second transition are inserted into the string of data bits or a signal representing or encoding the string of data bits, such as a non-return-to-zero (NRZ) encoded data signal or into a pre-amp data waveform. A polarity of the first transition is opposite to the polarity of the second transition. For example, a pair of transitions may be inserted into the string of bits as a 1T or 2T bit having an opposite polarity. Alternately or additionally, the first transition and the second transition may be consecutive transitions in the signal of the data bits that are inserted with approximately one bit, two bits, one magnet period (1T), or two magnet periods (2T) of separation.

Optionally at <NUM>, the pulse-based writer asserts a control signal to the magnetic media writer. Alternately or additionally, the pulse-based writer may deassert or change a state of the control signal or a control line to cause the magnetic media writer (e.g., pulse-based writing circuitry of the writer) to act in accordance with aspects of pulse-based writing or to provide an indication to the magnetic media writer. In some cases, a control signal (or other logical indication) to the magnetic media writer may be effective to mask at least one transition inserted into the data bits or data signal. In other cases, the control signal may indicate, to the magnetic media writer, a polarity of the string of data bits that corresponds to the magnet or a polarity of a subsequent string of data bits. In such cases, the control signal may cause the magnetic media writer to pulse the write current provided to the write head in a polarity opposite to the polarity of a transition inserted into the string of data bits.

At <NUM>, the pulse-based writer transmits, to the magnetic media writer, the string of data bits including the transition causing the write head to pulse while writing the magnet to the magnetic media. In some aspects, one of the transitions or the control signal may cause the magnetic media writer to generate or provide a pulse of write current to the write head. One or more pulses of write current, provided after an initial pulse at a start of a magnet, may enable the pulse-based writer to write long magnets more efficiently or with minimal distortion of data in neighboring tracks (e.g., to the track being written with pulse-based writing).

Optionally at <NUM>, the pulse-based writer deasserts the control signal to the magnetic media writer. In some cases, the control signal may be deasserted proximate to an end of a long magnet to allow write current to relax or settle before a next transition or to pulse toward an opposite polarity. For example, the pulse-based writer may determine that at least a portion of subsequent data bits have the same polarity and correspond to another magnet longer than the write head of the magnetic media writer. In response to an upcoming transition or another long magnet, the control signal may be deasserted. From operation <NUM>, the method <NUM> may return to operation <NUM> to implement another iteration of method <NUM>, or to any other operation implementing aspects of pulse-based writing, such as providing multiple pulses during a long magnet.

By way of example, consider <FIG> which illustrates at <NUM> an example graph of pre-amp data that includes transitions in accordance with various aspects of pulse-based writing. The graphs or waveforms of <FIG> include NRZ data <NUM>, pre-amp data <NUM>, a control signal <NUM>, and write current <NUM>. Generally, the NRZ data <NUM> may be provided to or encoded by a read/write channel <NUM>. In some aspects, a pulse-based writer <NUM> alters or modifies the NRZ data <NUM> to provide the pre-amp data <NUM> for a pre-amp/writer <NUM> or pre-amplifier circuitry <NUM>. Alternately or additionally, the pulse-based writer <NUM> may generate or set the control signal <NUM> to the pre-amp/writer <NUM> or pre-amplifier circuitry <NUM> (or pulse-based writing circuitry <NUM>). In various aspects, based on the pre-amp data <NUM> and/or control signal <NUM>, the pre-amp/writer <NUM> or pre-amplifier circuitry <NUM> generates pulses of write current <NUM> to form or write magnets to magnetic storage media.

In some aspects, the NRZ data <NUM> (or NRZ signal) may represent a sequence of digital bits, or a data pattern, to be encoded on the magnetic storage or recording medium. Alternately or additionally, the NRZ data may be implemented as non-return-to-zero inverted (NRZi) for encoding data bits and may be based on a read/write channel configuration or the polarity of pre-amp circuitry. With reference to the graphs depicted in this and other figures (e.g., <FIG>, <FIG>, <FIG>, or <FIG>), the NRZ data may be shown as a binary signal having a rectangular pulse-amplitude modulation with levels associated with negative (-) and positive (+) polarities. Generally, transitions to an alternate level (or an absence of a transition) of the NRZ data <NUM> during a window or bit period may represent an individual coded bit. As shown in <FIG>, the NRZ data <NUM> has an amplitude that alternates between a high level (+ polarity) and a low level (- polarity). Moreover, the NRZ data <NUM> has multiple transitions, as the signal rises or falls to reach an alternate polarity level. As an example, the NRZ data <NUM> may represent a "<NUM>" at rising edges, where the signal transitions from a low to a high level. Additionally, the NRZ data <NUM> may represent a "<NUM>" at falling edges, where the signal drops from the high level to the lower level, examples of which are provided in <FIG> and other figures for convenient reference.

The NRZ data <NUM> may be provided to or generated by the read/write channel <NUM>, which in turn provides the pre-amp data <NUM> to the pre-amp <NUM>. In some aspects, the read/write channel <NUM> or the pulse-based writer <NUM> alters or modifies the NRZ data <NUM> to provide the pre-amp data <NUM> to enable pulse-based writing for the magnetic storage media. Based on the pre-amp data <NUM>, control signal <NUM>, and/or other various settings, the pre-amp <NUM> generates or controls the write current <NUM>. As shown in <FIG>, the write current <NUM> may include multiple step-waves that generally begin with an overshoot at a polar transition (e.g., edge of the NRZ data <NUM>). The overshoot amplitude (OSA) may be described as a substantially increased (or spike) level for the write current <NUM>. By starting with an increased current, as produced by the overshoot amplitude, the pre-amp/writer <NUM> may change the polarities of the magnetic fields faster, thereby ensuring that the writer is set to the proper state needed for a sharp transition in the encoded data. After the initial overshoot, the amplitude of the write current <NUM> may settle to a more stable baseline current level for the remainder of the magnet writing duration. As such, an increased overshoot amplitude may enable the pre-amp/writer <NUM> to compensate for writing higher frequency data patterns with a lower speed write head.

As shown in <FIG>, the write current <NUM> amplitude may be selectively set to at least five levels. The write current <NUM> graph includes a zero level or off state, a write current baseline (Iw), a write current with overshoot amplitude (Iw+OSA), a negative write current baseline (-Iw), and a negative write current with overshoot amplitude (-Iw+OSA). Alternately or additionally, the pre-amp/writer <NUM> may be configurable to provide a pre-bias level that is slightly positive or negative for aiding in transitions of the write current <NUM>. For example, in some aspects of pulse-based writing or current relaxation, the pre-amp/writer <NUM> may transition from a positive write current to a negative pre-bias state in anticipation of a negative pulse of the write current (or vice versa).

Generally, the pulse-based writer <NUM>, read/write channel <NUM>, and/or the pre-amp/writer <NUM> may determine or select an amplitude of the write current <NUM>. For example, the pulse-based writer <NUM> may select an overshoot amplitude for pulsing the write current on a transition, a baseline write current while writing another section of a magnet (e.g., intermediate section of a long magnet), and an off-state or pre-bias condition for the write current before the next transition or pulse to a different polarity (e.g., for write current relaxation at a tail end of a long magnet). How the pulse-based writer <NUM> implements write current pulses or control varies and is described throughout the disclosure.

In this example, the pulse-based writer <NUM> of the read/write channel <NUM> may be configured to insert pairs of fake transitions into an NRZ or NRZi data path for various magnets or magnets that exceed a geometry of a write head, such as 5T or longer magnets. The pulse-based writer is also configured to use the control signal <NUM> to inhibit or prevent pulses on a first or leading transition of the pair of transitions. As shown in <FIG>, the pulse-based writer <NUM> may insert a pair of fake transitions <NUM> and <NUM> to modify or alter the pre-amp data <NUM>. In other words, a 5T magnet (<NUM>) may be modified as or to mimic a 1T1T3T magnet in the pre-amp data <NUM>.

In some cases, the pulse-based writer <NUM> also asserts or generates a control signal at <NUM> to mask the leading fake transition <NUM> causing the write current <NUM> to pulse at <NUM> with the same direction as the previous pulse at the start of the magnet. In other words, when the control signal <NUM> is high or asserted, the pre-amp/writer <NUM> or pulse-writing circuitry <NUM> may be inhibited or prevented from outputting a pulse of write current. The pulse-based writer <NUM> may also insert fake transitions in the NRZ data <NUM> that correspond to respective long magnets as shown at <NUM>, <NUM>, and/or <NUM>. As shown in <FIG>, the pulse-based writer <NUM> also asserts the control signal <NUM> at <NUM>, <NUM>, and <NUM> to prevent the pre-amp/writer <NUM> from pulsing on the leading fake transition to provide the pulses of write current shown at <NUM>, <NUM>, and <NUM>.

The read/write channel <NUM> or the pulse-based writer <NUM> may be implemented through any suitable combination of logic, circuitry, or software executed by a hardware-based processor to implement aspects of pulse-based writing. In some cases, aspects of method <NUM> and/or signal waveforms of <FIG> may be implemented through the logic of Table <NUM> in which:.

By pulsing the write current <NUM> as shown in <FIG>, the pulse-based writer <NUM> may enable the formation of magnets in magnetic media more efficiently or with less distortion to the data in neighboring tracks.

<FIG> illustrates another example graph of pre-amp data at <NUM> that includes transitions in accordance with various aspects of pulse-based writing. The graphs or waveforms of <FIG> include NRZ data <NUM>, pre-amp data <NUM>, a control signal <NUM>, and write current <NUM>. Generally, the NRZ data <NUM> may be provided to or encoded by the read/write channel <NUM>. In some aspects, a pulse-based writer <NUM> alters or modifies the NRZ data <NUM> to provide the pre-amp data <NUM> for a pre-amp/writer <NUM> or pre-amplifier circuitry <NUM>. Alternately or additionally, the pulse-based writer <NUM> may generate or set the control signal <NUM> to the pre-amp/writer <NUM> or pre-amplifier circuitry <NUM> (or pulse-based writing circuitry <NUM>). In various aspects, based on the pre-amp data <NUM> and/or the control signal <NUM>, the pre-amp/writer <NUM> or pre-amplifier circuitry <NUM> generates pulses of write current <NUM> to form or write magnets to magnetic storage media. Any or all of the NRZ data <NUM>, pre-amp data <NUM>, control signal <NUM>, and/or write current <NUM> may be configured or implemented similarly as described with reference to <FIG> or other aspects of pulse-based writing.

In this example, the pulse-based writer <NUM> of the read/write channel <NUM> may be configured to insert pairs of fake transitions (e.g., 2T inverted signals) into an NRZ or NRZi data path for various magnets or magnets that exceed a geometry of a write head, such as 5T or longer magnets. The pulse-based writer is also configured to use the control signal <NUM> to inhibit or prevent pulses on a first or leading transition of the pair of transitions. As shown in <FIG>, the pulse-based writer <NUM> may insert a pair of fake transitions <NUM> and <NUM> to modify or alter the pre-amp data <NUM>. In other words, a 5T magnet (<NUM>) may be modified as or to mimic a 2T2T1T magnet (<NUM>) in the pre-amp data <NUM>.

In some cases, the pulse-based writer <NUM> also asserts or generates a control signal at <NUM> to mask the leading fake transition <NUM> causing the write current <NUM> to pulse at <NUM> with the same direction as the previous pulse at the start of the magnet. In other words, when the control signal <NUM> is high or asserted, the pre-amp/writer <NUM> or pulse-writing circuitry <NUM> may be inhibited or prevented from outputting a pulse of write current. The pulse-based writer <NUM> may also insert fake transitions in the NRZ data <NUM> that correspond to respective long magnets as shown at <NUM>, <NUM>, and/or <NUM>. As shown in <FIG>, the pulse-based writer <NUM> also asserts the control signal <NUM> at <NUM>, <NUM>, and <NUM> to prevent the pre-amp/writer <NUM> from pulsing on the leading fake transition effective to provide pulses of write current shown at <NUM>, <NUM>, and <NUM>.

The read/write channel <NUM> or pulse-based writer <NUM> may be implemented through any suitable combination of logic, circuitry, or software executed by a hardware-based processor to implement aspects of pulse-based writing. In some cases, aspects of method <NUM> and/or signal waveforms of <FIG> may be implemented through the logic of Table <NUM> in which:.

<FIG> depicts an example method <NUM> for pulse-based writing with polarity control. The operations of method <NUM> may be performed by or with the pulse-based writing circuitry <NUM>, read/write channel <NUM>, and/or pulse-based writer <NUM>.

At <NUM>, a pulse-based writer determines that a string of data bits having the same polarity corresponds to a threshold associated with a magnetic media writer. The threshold may correspond with or be based on a geometry of a write head of the magnetic media writer, such as approximately a length of the write head or one or more bits shorter (e.g., 4T for a 5T long write head). In some cases, a number of consecutive bits of the same polarity are compared with a predefined threshold. As described herein, the predefined threshold may be defined based on the geometry of the write head or the geometry of magnets that are written to the magnetic storage media. In such cases, the predefined threshold may correspond to an approximate length or effective length of the write head with respect to the length of the magnets. For example, the predefined threshold may be set to enable determination or detection of magnets that meet or exceed four to six bit periods or magnet periods (e.g., 4T, 5T, or 6T).

At <NUM>, the pulse-based writer asserts, in response to the determination, a signal to the magnetic media writer indicative of the polarity state of the data signal to which the magnet corresponds. In some cases, the control signal asserted to the magnetic media writer (e.g., pre-amp/writer <NUM> and/or write head <NUM>) enables polarity control or management of the magnetic media writer. For example, the use of the control signal for polarity control may enable the pulse-based writer to alter the polarity of the magnetic media writer before a fake transition in encoded data bits is processed. Alternately or additionally, the control signal may change polarity for or with each fake transition that is injected into an encoded data bit signal.

At <NUM>, the pulse-based writer inserts a transition into the data signal based on a previous transition of the data signal and the indicated polarity state. For example, if the control signal is in the same state, then a transition with the opposite polarity may be inserted. Alternately, if the control signal has changed since the last transition, a fake transition may be injected with the same polarity as a previous or preceding transition. In some cases, the pulse-based writer may insert a fake transition every 4T of a long magnet with an option for every 3T. In other cases, an option may enable the insertion of fake transitions at <NUM> T in the event the next bit or sample is another transition of the bit pattern. Alternately or additionally, for multiple 1T transitions, shorter pulses (e.g., less than 1T) may be implemented, or another control signal may be provided to the pre-amp to indicate whether it is pulsing on a rising edge or a falling edge of the NRZi data signal.

At <NUM>, the pulse-based writer transmits, to the magnetic media writer and while the signal is asserted, the data signal including the transition to cause the write head to pulse while writing the magnet. In some aspects, one of the transitions in combination with the polarity control signal may cause the magnetic media writer to generate or provide a pulse of the write current to the write head. One or more pulses of write current, provided after an initial pulse at a start of a magnet, may enable the pulse-based writer to write long magnets more efficiently or with minimal distortion of data in neighboring tracks. From operation <NUM>, the method <NUM> may return to operation <NUM> to implement another iteration of the method <NUM>, or to any other operation to implement aspects of pulse-based writing, such as to provide multiple pulses during a long magnet.

By way of example, consider <FIG> which illustrates example graphs of pre-amp data and a control signal for polarity control in accordance with one or more aspects. The graphs or waveforms of <FIG> include NRZ data <NUM>, pre-amp data <NUM>, a control signal <NUM>, and write current <NUM>. Generally, the NRZ data <NUM> (or NRZi data) may be provided to or encoded by a read/write channel <NUM>. In some aspects, a pulse-based writer <NUM> alters or modifies (e.g., inverts) the NRZ data <NUM> to provide the pre-amp data <NUM> for a pre-amp/writer <NUM> or pre-amplifier circuitry <NUM>. Alternately or additionally, the pulse-based writer <NUM> may generate or set the control signal <NUM> to the pre-amp/writer <NUM> or pre-amplifier circuitry <NUM> (or pulse-based writing circuitry <NUM>). In various aspects, based on the pre-amp data <NUM> and/or control signal <NUM>, the pre-amp/writer <NUM> or pre-amplifier circuitry <NUM> generates pulses of write current <NUM> to form or write magnets to magnetic storage media. Any or all of the NRZ data <NUM>, pre-amp data <NUM>, control signal <NUM>, and/or write current <NUM> may be configured or implemented similarly to that described with reference to <FIG> or other aspects of pulse-based writing.

In this example, the pulse-based writer <NUM> of the read/write channel <NUM> may be configured to insert a fake transition every 4T of a long magnet with an option for every 3T, for magnets that exceed a geometry of a write head. The pulse-based writer is also configured to use the control signal <NUM> to indicate or control polarity at the pre-amp/writer <NUM>. As shown in <FIG>, the pulse-based writer <NUM> may assert the control signal at <NUM> to change polarity before a fake transition <NUM> occurs and the NRZ data is inverted at <NUM>. As shown in <FIG>, the fake transition <NUM> is effective to provide a pulse of write current at <NUM> with the same polarity as the previous transition. At <NUM>, the pulse-based writer <NUM> again changes polarity before another fake transition at <NUM> to provide another pulse of the write current at <NUM>. Here, note that the NRZ data polarity is reversed again whereby the pre-amp data <NUM> has the same polarity at <NUM>. Concluding the present example, the pulse-based writer <NUM> changes polarity once more at <NUM> to enable another fake transition <NUM>, which generates a pulse of the write current at <NUM>.

Let vi denote NRZ bit transition, let v'i denote transition sequence sent to the pre-amp, and let pi denote control signal polarity switch
Let t represent value of PULSE_3T_EN: One-bit register to enable pulsing every 3T instead of every 4T
Let G represent PULSE GAP_DIS[<NUM>] One-bit register to disable pulsing 1T early in case of upcoming transitions
A control signal will transition based on pi in table below when PULSE_EN=<NUM> vi denotes NRZi bit at time i
v'i denotes NRZi sequence sent to preamp (v'i = v'i + pi + denotes XOR)
pi denotes polarity switch signal at time i (wi =wi-<NUM> + pi, + denotes XOR).

By pulsing the write current <NUM> as shown in <FIG>, the pulse-based writer <NUM> may enable the formation of magnets in magnetic media more efficiently or with less distortion to data in neighboring tracks.

<FIG> depicts an example method <NUM> for pulse-based writing based on a control signal. The operations of method <NUM> may be performed by or with the pulse-based writing circuitry <NUM>, read/write channel <NUM>, and/or pulse-based writer <NUM>.

At <NUM>, a pulse-based writer determines that a string of data bits having a same polarity corresponds to a threshold associated with a magnetic media writer. The threshold may correspond with or be based on a geometry of a write head of the magnetic media writer, such as approximately a length of the write head or one or more bits shorter (e.g., 4T for a 5T long write head). In some cases, a number of consecutive bits of the same polarity are compared with a predefined threshold. As described herein, the predefined threshold may be defined based on the geometry of the write head or the geometry of magnets that are written to the magnetic storage media.

At <NUM>, the pulse-based writer generates, in response to the determination, a signal useful to provide a pulse of write current. In some aspects, the pulse-based writer pulses the control signal at 4T or similar intervals for long magnets. The pulse-based writer may be configured to pulse earlier for a last pulse so that the last pulse occurs at least <NUM>-3T prior to a next transition to a different polarity. Alternately or additionally, the pre-amp/writer may be configured to track the polarity, such as to ensure that the control signal causes additional pulses of the previous or same transition of a magnet being written.

At <NUM>, the pulse-based writer pulses, via the magnetic media writer, the write current based on the signal and the polarity of a previous pulse of the write current. Generally, the control signal may be used to indicate when an additional or extra pulse is needed to write another portion of a long magnet. In response to the control signal, the pre-amp/writer may pulse the write current based on the control signal and the polarity of a previous transition of the encoded data to generate the extra pulses. From operation <NUM>, the method <NUM> may return to operation <NUM> to implement another iteration of the method <NUM>, or to any other operation (<NUM>) to implement aspects of pulse-based writing, such as to provide multiple pulses for a long magnet.

By way of example, consider <FIG> which illustrates at <NUM> an example graph of a control signal for pulse-based writing in accordance with various aspects of pulse-based writing. The graphs or waveforms of <FIG> include NRZ data <NUM>, a control signal <NUM>, and a write current <NUM>. Generally, the NRZ data <NUM> (or NRZi data) may be provided to or encoded by a read/write channel <NUM>. In some aspects, a pulse-based writer <NUM> may generate or set the control signal <NUM> to the pre-amp/writer <NUM> or the pre-amplifier circuitry <NUM> (or pulse-based writing circuitry <NUM>) to cause or trigger pulses of write current. Any or all of the NRZ data <NUM>, control signal <NUM>, and/or write current <NUM> may be configured or implemented similarly as described with reference to <FIG> or other aspects of pulse-based writing.

In this example, the pulse-based writer <NUM> of the read/write channel <NUM> may be configured to use the control signal <NUM> to pulse the write current <NUM> at 4T intervals for magnets that exceed a geometry of a write head. As shown in <FIG>, for data that corresponds to respective long magnets, the pulse-based writer <NUM> may assert the control signal <NUM> at <NUM>, <NUM>, <NUM>, and/or <NUM> to cause or trigger pulses in the write current <NUM>. Concluding the present example and in accordance with the control signal <NUM> provided by the pulse-based writer, the pre-amp/writer generates pulses of the write current <NUM> at <NUM>, <NUM>, <NUM>, and <NUM>.

<FIG> depicts an example method <NUM> for relaxing the write current of a magnetic media writer. The operations of method <NUM> may be performed by or with the pulse-based writing circuitry <NUM>, read/write channel <NUM>, and/or pulse-based writer <NUM>.

At <NUM>, a pulse-based writer determines that a string of data bits having the same polarity corresponds to a threshold associated with a magnetic media writer (e.g., a length of the write head). The threshold may correspond with or be based on a geometry of a write head of the magnetic media writer, such as approximately a length of the write head or one or more bits shorter (e.g., 4T for a 5T long write head). In some cases, a number of consecutive bits of the same polarity are compared with a predefined threshold. Alternately or additionally, the predefined threshold may be defined based on the geometry of the write head or the geometry of magnets that are written to the magnetic storage media.

At <NUM>, the pulse-based writer asserts, in response to the determination, a signal useful to extend a pulse of write current for at least a portion of the magnet. Alternately or additionally, the signal may be useful to relax the write current from an overshoot amplitude to a baseline write current or to an off-state or pre-bias voltage for a transition to the opposite polarity. In some aspects, the signal, such as the control signal provided to the pre-amp/writer, is used to directly control or affect the write current. The control signal may be asserted at a beginning of a long magnet and deasserted at a predefined duration of time before a transition to a next polarity.

At <NUM>, the pulse-based writer maintains, via the magnetic media writer, at least a portion of the write current based on the signal and the length of the magnet. For example, based on the asserted control signal, the magnetic media writer may relax the write current from an overshoot level to a baseline write level. Alternately or additionally, in response to deassertion of the control signal, the magnetic media writer may relax the write current to an off-state (e.g., from a positive level) or a pre-bias state (e.g., less than <NUM>) in advance to a transition to the opposite polarity (e.g., negative polarity).

Optionally at <NUM>, the pulse-based writer deasserts, based on the length of the magnet, the signal to enable the write current to cease prior to the next pulse transition. As noted, the control signal may be deasserted based on an upcoming transition to the opposite polarity. By so doing, an overall swing of write current at the next transition may be reduced, enabling a faster or cleaner transition by the magnetic media writer.

By way of example, consider <FIG> which illustrates at <NUM> an example graph of a control signal useful to relax write the current in accordance with one or more aspects. The graphs or waveforms of <FIG> include NRZ data <NUM>, a control signal <NUM>, and write current <NUM>. Generally, the NRZ data <NUM> (or NRZi data) may be provided to or encoded by a read/write channel <NUM>. In some aspects, the pulse-based writer <NUM> may generate or set the control signal <NUM> to the pre-amp/writer <NUM> or pre-amplifier circuitry <NUM> (or pulse-based writing circuitry <NUM>). In various aspects, based on the control signal <NUM>, the pre-amp/writer <NUM> or pre-amplifier circuitry <NUM> relaxes the write current <NUM>, such as when forming or writing long magnets. Any or all of the NRZ data <NUM>, control signal <NUM>, and/or write current <NUM> may be configured or implemented similarly as described with reference to <FIG> or other aspects of pulse-based writing.

In this example, the pulse-based writer <NUM> of the read/write channel <NUM> may be configured to control the write current directly, such as to support two levels of write current or current relaxation. Generally, the pulse-based writer <NUM> may assert the control signal <NUM> at the beginning of a magnet and deassert the control line <NUM> approximately 4T prior to a transition of another magnet. In other words, the control signal <NUM> may pulse for long magnets and relax to a lower write current (of the same polarity), off-state, or pre-bias setting near the tail end of a magnet.

As shown in <FIG>, the pulse-based writer <NUM> may assert the control signal at <NUM> to relax the write current <NUM> to a baseline level, and then deassert the control line at <NUM> (~4T prior to the transition) to allow the write current to settle to about <NUM> or an off-state. By so doing, the write current may cleanly or quickly transition based on the polarity of the next magnet to be written. Similarly, the control signal <NUM> may also be deasserted at <NUM>, <NUM>, and/or <NUM> in accordance with aspects of current relaxation. As shown in <FIG>, this enables the write current to relax at <NUM>, <NUM>, and <NUM> to a baseline current while at least a portion of a long magnet is written, and then relax further to approximately <NUM> or an opposite-polarity pre-bias state for an upcoming transition.

The read/write channel <NUM> or pulse-based writer <NUM> may be implemented through any suitable combination of logic, circuitry, or software executed by a hardware-based processor to implement aspects of pulse-based writing. In some cases, aspects of method <NUM> and/or signal waveforms of <FIG> may be implemented through the logic of Equations <NUM> and <NUM> in which:.

With register support provided by:
3T RELAX EN: One-bit register forcing control signal to operate in relax mode With 3T RELAX EN = <NUM>, control signal goes down 3T before next transition.

<FIG> depicts an example method <NUM> for relaxing write current with transitions inserted in pre-amp data. The operations of method <NUM> may be performed by or with the pulse-based writing circuitry <NUM>, read/write channel <NUM>, and/or pulse-based writer <NUM>.

At <NUM>, a pulse-based writer determines that the length of a magnet meets or exceeds a predefined threshold associated with a write head of a magnetic media writer. The predefined threshold may be configured based on the geometry of the write head relative to the bit size of magnets in the magnetic storage media associated with which the write head. For example, the predefined threshold may be used to detect or determine that the magnet is longer than the write head of a magnetic media writer and may be a candidate magnet for current relaxation.

At <NUM>, the pulse-based writer asserts, in response to the determination, a signal to the magnetic media writer to prevent pulsing of write current. In some aspects, the signal is a control signal that may be used to mask transitions that may be useful to implement current relaxation. In other words, when the control signal is asserted, a magnetic media writer (e.g., pre-amp/writer) may not change or output a pulse of the write current in response to transitions of the data signal or waveform. Alternately or additionally, the magnetic media writer may be configured to set the write current to a baseline level, an off-state (<NUM>), or an opposite-polarity pre-bias level.

At <NUM>, the pulse-based writer inserts at least one transition into a data signal to which the magnet corresponds based on the length of the magnet. In some cases, pairs of fake transitions or an inverted signal may be inserted into the data signal or a data waveform. The transitions or inverted signal may be inserted at a predefined spacing or duration prior to a next transition, such as 4T or 6T prior to an end of a magnet to which the data corresponds.

At <NUM>, the pulse-based writer transmits, to the magnetic media writer while the signal is asserted, the data signal including the transition effective to enable the write current to decrease prior to the next pulse transition. As noted, the fake transitions may be inserted based on an upcoming transition to the opposite polarity to allow the write current to relax from an overshoot current to a baseline current, zero current, or opposite-polarity pre-bias current. By so doing, an overall swing of write current at the next transition may be reduced, enabling a faster or cleaner transition by the magnetic media writer.

By way of example, consider <FIG> which illustrates at <NUM> an example graph of pre-amp data that includes transitions in accordance with one or more aspects of current relaxation. The graphs or waveforms of <FIG> include NRZ data <NUM>, pre-amp data <NUM>, a control signal <NUM>, and write current <NUM>. Generally, the NRZ data <NUM> (or NRZi data) may be provided to or encoded by a read/write channel <NUM>. In some aspects, a pulse-based writer <NUM> alters or modifies (e.g., inverts) the NRZ data <NUM> to provide the pre-amp data <NUM> for a pre-amp/writer <NUM> or pre-amplifier circuitry <NUM>. Alternately or additionally, the pulse-based writer <NUM> may generate or set the control signal <NUM> to the pre-amp/writer <NUM> or pre-amplifier circuitry <NUM> (or pulse-based writing circuitry <NUM>). In various aspects, based on the pre-amp data <NUM> and/or control signal <NUM>, the pre-amp/writer <NUM> or pre-amplifier circuitry <NUM> relax the write current <NUM> from an overshoot level (or other initial or max value) to a lower write current, off-state, or pre-bias current. Any or all of the NRZ data <NUM>, pre-amp data <NUM>, control signal <NUM>, and/or write current <NUM> may be configured or implemented similarly as described with reference to <FIG> or other aspects of pulse-based writing.

In this example, the pulse-based writer <NUM> of the read/write channel <NUM> may be configured to insert pairs of fake transitions or inverted signals 4T prior to the end of the magnet. In some aspects, this may be effective to disable or reduce the write current <NUM> without generating additional pulses in the write current. As such, combined aspects of pulse-based writing and current relaxation may be implemented with multiple control signals or registers shared between the read/write channel and the pre-amp/writer of a media drive. In this example, the pulse-based writer <NUM> is also configured to use or generate the control signal to mask both of the fake transitions, where if control signal is high, then the pre-amp/writer does not output a write pulse for that transition. Instead, the pre-amp/writer may set the write current to <NUM> or another programmable or predefined value. For example, the pulse-based writer may assert the control signal <NUM> at <NUM> and insert fake transitions at <NUM> such that a 5T magnet (<NUM>) becomes 1TIT3T (<NUM>) as shown in <FIG>. Alternately, a pair of fake transitions could be spaced or separated approximately by 2T, providing a 5T magnet that becomes 2T2T1T (<NUM>). As shown in <FIG>, these transitions are effective to cause the write current <NUM> to relax to the baseline write current at <NUM> and to zero or an off-state at <NUM>. Similarly, the pulse-based writer may assert the control line <NUM> at <NUM>, <NUM>, and/or <NUM> to mask pairs of fake transitions inserted at <NUM>, <NUM>, and <NUM>. Responsive to these masked transitions, the pre-amp/writer may relax the write current <NUM> as shown at <NUM>, <NUM>, and <NUM>. By so doing, an overall swing of the write current at the next transition may be reduced, enabling a faster or cleaner transition by the magnetic media writer.

Control signal will be high based on pi and pi-i in table below
vi denotes NRZi bit at time i
v'i denotes NRZi sequence sent to preamp ( <MAT>)
pi denotes polarity switch signal at time i (wi = pi + pi-<NUM>, + denotes XOR).

By pulsing and/or relaxing the write current <NUM> as shown in <FIG>, the pulse-based writer <NUM> may enable the formation of magnets in magnetic media more efficiently or with less distortion to data in neighboring tracks.

<FIG> illustrates an exemplary System-on-Chip (SoC) <NUM> that may implement various aspects of pulse-based writing for magnetic storage media. The SoC <NUM> may be implemented in any suitable device, such as a smart-phone, netbook, tablet computer, access point, network-attached storage, camera, smart appliance, printer, set-top box, server, solid-state drive (SSD), magnetic tape drive, hard-disk drive (HDD), storage drive array, memory module, storage media controller, storage media interface, head-disk assembly, magnetic media pre-amplifier, automotive computing system, or any other suitable type of device (e.g., others described herein). Although described with reference to a SoC, the entities of <FIG> may also be implemented as other types of integrated circuits or embedded systems, such as an application-specific integrated-circuit (ASIC), memory controller, storage controller, communication controller, application-specific standard product (ASSP), digital signal processor (DSP), programmable SoC (PSoC), system-in-package (SiP), or field-programmable gate array (FPGA).

The SoC <NUM> may be integrated with electronic circuitry, a microprocessor, memory, input-output (I/O) control logic, communication interfaces, firmware, and/or software useful to provide functionalities of a computing device or magnetic storage system, such as any of the devices or components described herein (e.g., hard-disk drive). The SoC <NUM> may also include an integrated data bus or interconnect fabric (not shown) that couples the various components of the SoC for data communication or routing between the components. The integrated data bus, interconnect fabric, or other components of the SoC <NUM> may be exposed or accessed through an external port, parallel data interface, serial data interface, peripheral component interface, or any other suitable data interface. For example, the components of the SoC <NUM> may access or control external storage media or magnetic write circuitry through an external interface or off-chip data interface.

In this example, the SoC <NUM> is shown with various components that include input-output (I/O) control logic <NUM> and a hardware-based processor <NUM> (processor <NUM>), such as a microprocessor, processor core, application processor, DSP, or the like. The SoC <NUM> also includes memory <NUM>, which may include any type and/or combination of RAM, SRAM, DRAM, non-volatile memory, ROM, one-time programmable (OTP) memory, multiple-time programmable (MTP) memory, Flash memory, and/or other suitable electronic data storage. In some aspects, the processor <NUM> and code (e.g., firmware) stored on the memory <NUM> are implemented as a storage media controller or as part of a storage media interface to provide various functionalities associated with pulse-based writing for magnetic storage media. In the context of this disclosure, the memory <NUM> stores data, code, instructions, or other information via non-transitory signals, and does not include carrier waves or transitory signals. Alternately or additionally, SoC <NUM> may comprise a data interface (not shown) for accessing additional or expandable off-chip storage media, such as magnetic memory or solid-state memory (e.g., Flash or NAND memory).

The SoC <NUM> may also include firmware <NUM>, applications, programs, software, and/or operating system, which may be embodied as processor-executable instructions maintained on the memory <NUM> for execution by the processor <NUM> to implement functionalities of the SoC <NUM>. The SoC <NUM> may also include other communication interfaces, such as a transceiver interface for controlling or communicating with components of a local on-chip (not shown) or off-chip communication transceiver. Alternately or additionally, the transceiver interface may also include or implement a signal interface to communicate radio frequency (RF), intermediate frequency (IF), or baseband frequency signals off-chip to facilitate wired or wireless communication through transceivers, physical layer transceivers (PHYs), or media access controllers (MACs) coupled to the SoC <NUM>. For example, the SoC <NUM> may include a transceiver interface configured to enable storage over a wired or wireless network, such as to provide a network attached storage (NAS) device with pulse-based writing features.

The SoC <NUM> also includes a read/write channel <NUM> and a pulse-based writer <NUM>, which may be implemented separately as shown or combined with a storage component or data interface. Alternately or additionally, the SoC <NUM> may include interfaces to a pre-amplifier and spindle/motor assembly of a magnetic media disk drive. As described herein, the pulse-based writer <NUM> may insert transitions into pre-amp data, alter bit polarities, manage a control signal (e.g., for masking), relax write current, configure various bit or current thresholds, or any combination of the like to implement aspects of pulse-based writing for magnetic storage media. Any of these entities may be embodied as disparate or combined components, as described with reference to various aspects presented herein. Examples of these components and/or entities, or corresponding functionality, are described with reference to the respective components or entities of the environment <NUM> of <FIG> or respective configurations illustrated in <FIG>, and/or <FIG>. The pulse-based writer <NUM>, either in whole or part, may be implemented as digital logic, circuitry, and/or processor-executable instructions maintained by the memory <NUM> and executed by the processor <NUM> to implement various aspects or features of pulse-based writing for magnetic storage media.

The pulse-based writer <NUM>, may be implemented independently or in combination with any suitable component or circuitry to implement aspects described herein. For example, a pulse-based writer may be implemented as part of a DSP, processor/storage bridge, I/O bridge, graphics processing unit, memory controller, storage controller, arithmetic logic unit (ALU), or the like. The pulse-based writer <NUM> may also be provided integral with other entities of SoC <NUM>, such as integrated with the processor <NUM>, memory <NUM>, a storage media interface, or firmware <NUM> of the SoC <NUM>. Alternately or additionally, the pulse-based writer <NUM>, and/or other components of the SoC <NUM> may be implemented as hardware, firmware, fixed logic circuitry, or any combination thereof.

As another example, consider <FIG> which illustrates an example storage media controller <NUM> in accordance with one or more aspects of pulse-based writing for magnetic storage media. Generally, the storage media controller <NUM> enables the computing device <NUM> to access contents of magnetic storage media, such as an operating system, applications, or data for applications or other services. The storage media controller may also write and read data of the computing device <NUM> to and from the magnetic storage media with which the controller is associated.

In various aspects, the storage media controller <NUM> or any combination of components thereof may be implemented as a storage drive controller (e.g., HDD controller or HDD chipset), storage media controller, NAS controller, storage media interface, storage media endpoint, storage media target, or a storage aggregation controller for magnetic storage media, solid-state storage media, or the like (e.g., hybrid SSD/HDD storage systems). In some cases, the storage media controller <NUM> is implemented similar to or with components of the SoC <NUM> as described with reference to <FIG>. In other words, an instance of the SoC <NUM> may be configured as a storage media controller, such as the storage media controller <NUM> to manage magnetic storage media. In this example, the storage media controller <NUM> includes input-output (I/O) control logic <NUM> and a processor <NUM>, such as a microprocessor, microcontroller, processor core, application processor, DSP, or the like. The storage media controller also includes a host interface <NUM> (e.g., SATA, PCIe, NVMe, or Fabric interface) and a storage media interface <NUM> (e.g., magnetic media interface or head-disk assembly (HDA) interface), which enable access to a host system (or fabric) and storage media, respectively. In this example, the storage media interface includes separate instances of a spindle interface <NUM> and a pre-amp interface <NUM>, such as to enable communication with a head-disk assembly of a media drive.

In some aspects, the storage media controller <NUM> implements aspects of pulse-based writing for magnetic storage media when managing or enabling access to storage media that is coupled to the storage media interface <NUM>. The storage media controller <NUM> may provide a storage interface for a host system via the host interface <NUM>, through which storage access commands, such as data to write to the magnetic storage media are received from the host system. As shown in <FIG>, the storage media controller <NUM> may also include a servo control unit <NUM>, read/write channel <NUM>, and a pulse-based writer <NUM>. The servo control unit <NUM> is operably coupled to the spindle interface <NUM> and may provide spindle or voice coil control for a magnetic media drive. In this example the read/write channel <NUM> and pulse-based writer <NUM> are operably coupled to the pre-amp interface <NUM> and may provide pre-amp data (e.g., modified NRZ bit patterns or waveforms) and/or pulse-writing control signals to pre-amplifier circuitry (or pulse-based writing circuitry of the pre-amplifier) of the media drive. In some aspects, the processor <NUM> and firmware or logic of the storage media controller <NUM> are implemented to provide various data writing or processing functionalities associated with pulse-based writing for magnetic storage media.

The pulse-based writer <NUM> of the storage media controller <NUM> may be implemented separately as shown or combined with the processor <NUM>, read/write channel <NUM>, or storage media interface <NUM>. In accordance with various aspects, the pulse-based writer <NUM> may insert transitions into pre-amp data, alter bit polarities, manage a control signal (e.g., for masking), relax write current, configure various bit or current thresholds, or any combination of the like. Examples of these components and/or entities, or corresponding functionality, are described with reference to the respective components or entities of the environment <NUM> of <FIG> or respective configurations illustrated in <FIG> and/or <FIG>. The pulse-based writer <NUM>, either in whole or part, may be implemented as processor-executable instructions maintained by memory of the controller and executed by the processor <NUM> to implement various aspects and/or features of pulse-based writing for magnetic storage media.

Claim 1:
An apparatus comprising:
an interface (<NUM>; <NUM>) to receive data from a host;
a disk of magnetic storage media to store the data;
a magnetic media writer, comprising a write head, configured to write the data to the magnetic storage media as data bits; and
a pulse-based writer (<NUM>) configured to:
determine (<NUM>) that a string of the data bits having a same polarity corresponds to a magnet (<NUM>) longer than a threshold based on a geometry of the write head of the magnetic media writer;
insert (<NUM>), into the string of the data bits, a first transition and a second transition, wherein a polarity of the first transition is opposite to a polarity of the second transition;
asserting (<NUM>) a control signal (<NUM>) to the magnetic media writer to mask at least one of the first transition or the second transition inserted into the string of data bits; and
transmit (<NUM>), to the magnetic media writer, the string of the data bits including the at least one transition to cause the write head (<NUM>) of the magnetic media writer to pulse while writing the magnet (<NUM>) to the magnetic storage media of the disk.