Storage disks are frequently used to store digital data. For example, a user may store digital photographs, digital songs, or digital videos on a computer disk drive that includes one or more storage disks. As digital content becomes increasingly popular, consumer demand for storage capacity may correspondingly increase. The storage capacity of a disk may be limited by formatting of the disk. During formatting, a storage disk is scanned for defects and is divided into smaller units of storage based on detected defects. Improved formatting techniques may improve the storage capacity of storage disks.
Implementations disclosed herein provide an apparatus including a storage media and a storage controller configured to divide physical storage space of the storage media into a plurality of media zones between an inner diameter (ID) and an outer diameter (OD) of the storage media, and write LBA sectors to the media zones in a direction from the ID to the OD and writing the data in the direction from the OD to the ID within each media zone.
In an alternative implementation, a method disclosed herein includes dividing physical storage space of a storage media into a plurality of media zones, wherein the plurality of media zones are aligned between an inner diameter (ID) and an outer diameter (OD) of the storage media; and dividing the logical block address (LBA) space mapped to the storage area into a plurality of LBA sectors, writing the LBA sectors to the media zones in a direction from the ID to the OD, and within each media zone, writing the data in the direction from the OD to the ID.
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 features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. These and various other features and advantages will be apparent from a reading of the following Detailed Description.
A further understanding of the nature and advantages of the present technology may be realized by reference to the figures, which are described in the remaining portion of the specification.
The transducer head assembly 120 is mounted on an actuator assembly 109 at an end distal to an actuator axis of rotation 112 where the actuator assembly 109 may swivel around an actuator axis 115. The transducer head assembly 120 flies in close proximity above the surface of the storage medium 108 during disc rotation. The actuator assembly 109 rotates during a seek operation about the actuator axis of rotation 112. The seek operation positions the transducer head assembly 120 over a target data track for read and write operations.
As the data tracks closer to the OD 102 have longer arc length, they store more data than the data tracks near the ID 104. Therefore, as the transducer head assembly 120 reads data from the OD 102 to the ID 104, the throughput (usually provided as Megabytes/Second (MB/s)) of the storage device drops. The low throughput near the ID 104 may limit the use of the storage device 100 in some applications, such as for storing surveillance data. In an implantation of the storage device 100, the data tracks of the storage medium 108 are divided into a number of media zones from the OD 102 to the ID 104. For example, two such media zones of the storage medium 108 as shown in
For a hard disc drive (HDD) the throughput drops from the OD to ID. The lower throughput at the ID limits the use of the HDD in certain applications, such as surveillance. In an implementation of a redundant arrays of independent/inexpensive discs (RAID) system, alternate drives are implemented to seek in opposite direction. For example, in one implementation, odd drives may be implemented to have forward seek from OD to ID whereas even drives are implemented to have reverse seek from ID to OD. However, due to HDD's misalignment of the start data sectors, reserves seek on the even drives may cause the drive to miss the next starting point of the next track after finishing of writing or reading on a given track. This results in a missed revolution for the even drives that are implemented to use reverse seek. An implementation disclosed herein modifies the reverse seek on the even drives to have hybrid seeking where the writable space of the HDD is divided into zones and while reverse seek is implemented across the zones, within each zone, forward seek is implemented. Various implementations of such hybrid seek are disclosed below in
The storage device 100 also includes a controller 106 that manages various operations of the storage device 100. The controller 106 includes software and/or hardware, and may be implemented in any tangible computer-readable storage media within or communicatively coupled to the storage device 100. The term “tangible computer-readable storage media” includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other tangible medium which can be used to store the desired information and which can accessed by a mobile device, a computer 20, etc. In contrast to tangible computer-readable storage media, intangible computer-readable communication signals may embody computer readable instructions, data structures, program modules or other data resident in a modulated data signal, such as a carrier wave or other signal transport mechanism. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
When the storage device 100 is implemented using hybrid seek disclosed herein, the physical storage space of the storage media 108 may be identified by physical block addresses (PBAs). In one implementation, the PBAs may start from the OD 102 and increase towards the ID 104.
The LBA space 130 may be used by a host (not shown) communicatively connected to the storage device 100 to specify one or more commands to the storage device 100. For example, the host may specify writing data to LBA to LBAn+x. The controller 106 may receive and analyze this command and determine the PBAs where the data is to be written.
In an implementation of the storage device 100, the storage controller 106 is configured to divide the LBA space 130 into a number of LBA sectors 130a, 130b, . . . 130g. The storage controller 106 may map the LBA sectors 130a, 130b, . . . 130n to the media zones 140, 142, etc. In one implementation, the storage controller 106 maps the LBA sectors 130a, 130b, . . . 130n to the media zones 140, 142 from the ID to the OD. Thus, for example, an LBA sector near the beginning of the LBA space 130 (e.g., towards LBA address 0) is mapped to a PBA that is closer to an ID 104 whereas an LBA sector whereas an LBA sector near the end of the LBA space 130 (e.g., towards LBA address xxxxx) is mapped to a PBA that is closer to the OD 102. As an example,
Furthermore, within each media zone, the storage controller 106 maps the LBA addresses from the OD to the ID. Thus, for example, for the media zone 142, which is also shown in View B, the direction of mapping the LBA to the PBA is from the OD 102 to the ID 104. The LBA sector 130c (which is mapped to the media zone 142) is illustrated as divided in three LBA sub-sectors 132a, 132b, 132c and the media zone 142 is divided into three media tracks 142a, 142b, 142c. In one implementation, the LBA sub-sector 132a is mapped to the media track 142c, the LBA sub-sector 132b is mapped to the media track 142b, and the LBA sub-sector 132c is mapped to the media track 142a. Thus, within a given media zone, an LBA sub-sector with a lower LBA address is mapped to a media track closer to the OD 102, whereas an LBA sub-sector with a higher LBA address is mapped to a media track closer to the ID 104.
Furthermore, each zone 202, 204 comprises a number of tracks combined to form the particular zone. For example, the zone A 202 is divided into tracks 2021 to 2021000, The zone 204 is divided into 20421001 to 20421000, etc. The controller is configured to map the zones within each track in a forward seek mode as denoted by the directions 220, 222. Thus, the tracks 202, to 2021000 are mapped in the direction of OD to ID, the tracks 2041 to 2041000 are mapped in the direction of OD to ID, etc.
Furthermore, each zone 302, 304 is divided into a number of tracks. For example, the zone A 302 is divided into tracks 30220001 to 30221000, The track 304 is divided into subzones 3041 to 3041000, etc. The controller is configured to map the zones within each subzone in a forward seek mode as denoted by the directions 320, 322. Thus, the tracks 30220001 to 30221000 are mapped in the direction of OD to ID, the tracks 3041 to 3041000 are mapped in the direction of OD to ID, etc.
HDDs using shingled media recording (SMR), data is grouped into isolated storage bands/data zones. Each of the storage bands contains a group of shingled tracks located in the main store of the drive. SMR allows for increased areal density capability (ADC) as compared to conventional magnetic recording (CMR) but at the cost of some performance ability. Specifically, writing data on the SMR drive has to follow the direction of the shingling in each data zones or storage bands. In an SMR drive, in the OD zones shingle direction is from OD to ID and the OD zones store data from lower LBAs. On the other hand, in the ID zones the shingle direction is from ID to OD and the ID zones store larger LBA. As a result, reverse LBA writing in SMR drives may significantly slow down the wiring performance.
Furthermore, each zone 402, 404 may be include a number of SMR bands and may be divided into a number of tracks. For example, the zone A 402 is divided into SMR bands/tracks 4021 to 4021000, the track 404 is divided into subzones 40420001 to 40421000, etc. The controller is configured to map the zones within each subzone in an SMR reverse-seek mode as denoted by the direction 420 for the zones near OD. On the other hand, the controller is configured to map the zones within each subzone in an SMR forward-seek mode as denoted by the direction 422 for the zones near ID. Thus, the tracks 4021 to 4021000 are mapped in the direction of OD to ID, the tracks 40420001 to 40421000 are mapped in the direction of ID to OD, etc.
Furthermore, each zone 502, 504 may have a number of SMR bands and may be divided into a number of tracks. For example, the zone A 502 is divided into SMR bands/tracks 50219001 to 50221000, the track 504 is divided into SMR bands/subzones 5041 to 5041000, etc. The controller is configured to map the zones within each subzone in an SMR forward-seek mode as denoted by the direction 520 for the zones near OD. On the other hand, the controller is configured to map the zones within each subzone in an SMR reverse-seek mode as denoted by the direction 522 for the zones near ID. Thus, the tracks 50219001 to 50221000 are mapped in the direction of OD to ID, the tracks 4041 to 4041000 are mapped in the direction of ID to OD, etc.
The throughput balancing scheme disclosed herein allows HDDs to increase minimum throughput of the RAID system. Specifically, for HDDs using CMR, the throughput balancing scheme disclosed herein reduces the reverse-seek time. For HDDs using SMR, the throughput balancing scheme disclosed herein increases the SMR drive's ability to write with reverse LBA direction, even with dynamic writing. Furthermore, the throughput balancing scheme disclosed herein allows HDDs to be set into reverse-seek mode during RAID0 initialization.
The I/O section 904 may be connected to one or more user-interface devices (e.g., a keyboard, a touch-screen display unit 918, etc.) or a storage unit 912. Computer program products containing mechanisms to effectuate the systems and methods in accordance with the described technology may reside in the memory section 908 or on the storage unit 912 of such a system 900.
A communication interface 924 is capable of connecting the processing system 900 to an enterprise network via the network link 914, through which the computer system can receive instructions and data embodied in a carrier wave. When used in a local area networking (LAN) environment, the processing system 900 is connected (by wired connection or wirelessly) to a local network through the communication interface 924, which is one type of communications device. When used in a wide-area-networking (WAN) environment, the processing system 900 typically includes a modem, a network adapter, or any other type of communications device for establishing communications over the wide area network. In a networked environment, program modules depicted relative to the processing system 900 or portions thereof, may be stored in a remote memory storage device. It is appreciated that the network connections shown are examples of communications devices for and other means of establishing a communications link between the computers may be used.
In an example implementation, a storage controller, and other modules may be embodied by instructions stored in memory 908 and/or the storage unit 912 and executed by the processor 902. Further, the storage controller may be configured to assist in supporting the RAID0 implementation. A RAID storage may be implemented using a general-purpose computer and specialized software (such as a server executing service software), a special purpose computing system and specialized software (such as a mobile device or network appliance executing service software), or other computing configurations. In addition, keys, device information, identification, configurations, etc. may be stored in the memory 908 and/or the storage unit 912 and executed by the processor 902.
The processing system 900 may be implemented in a device, such as a user device, storage device, IoT device, a desktop, laptop, computing device. The processing system 900 may be a storage device that executes in a user device or external to a user device.
In addition to methods, the embodiments of the technology described herein can be implemented as logical steps in one or more computer systems. The logical operations of the present technology can be implemented (1) as a sequence of processor-implemented steps executing in one or more computer systems and/or (2) as interconnected machine or circuit modules within one or more computer systems. Implementation is a matter of choice, dependent on the performance requirements of the computer system implementing the technology. Accordingly, the logical operations of the technology described herein are referred to variously as operations, steps, objects, or modules. Furthermore, it should be understood that logical operations may be performed in any order, unless explicitly claimed otherwise or unless a specific order is inherently necessitated by the claim language.
Data storage and/or memory may be embodied by various types of processor-readable storage media, such as hard disc media, a storage array containing multiple storage devices, optical media, solid-state drive technology, ROM, RAM, and other technology. The operations may be implemented processor-executable instructions in firmware, software, hard-wired circuitry, gate array technology and other technologies, whether executed or assisted by a microprocessor, a microprocessor core, a microcontroller, special purpose circuitry, or other processing technologies. It should be understood that a write controller, a storage controller, data write circuitry, data read and recovery circuitry, a sorting module, and other functional modules of a data storage system may include or work in concert with a processor for processing processor-readable instructions for performing a system-implemented process
The embodiments of the disclosed technology described herein are implemented as logical steps in one or more computer systems. The logical operations of the presently disclosed technology are implemented (1) as a sequence of processor-implemented steps executing in one or more computer systems and (2) as interconnected machine or circuit modules within one or more computer systems. The implementation is a matter of choice, dependent on the performance requirements of the computer system implementing the disclosed technology. Accordingly, the logical operations making up the embodiments of the disclosed technology described herein are referred to variously as operations, steps, objects, or modules. Furthermore, it should be understood that logical operations may be performed in any order, adding and omitting as desired, unless explicitly claimed otherwise or a specific order is inherently necessitated by the claim language.
The above specification, examples, and data provide a complete description of the structure and use of exemplary embodiments of the disclosed technology. Since many embodiments of the disclosed technology can be made without departing from the spirit and scope of the disclosed technology, the disclosed technology resides in the claims hereinafter appended. Furthermore, structural features of the different embodiments may be combined in yet another embodiment without departing from the recited claims.