HDD Physical Organization – CHS
Now let’s see how bits are organized in the Hard Disk Drive (HDD), in such a way that we can access them at all times. Although with several differences, the philosophy that rules the HDD, as memory, is the same:
“To store information in addresses associated to them so we can find them and use them”.
Let’s start by analyzing how to build an address on the HDD.
CHS (Cylinder, Head, Sector)
As we’ve seen before, the HDD is formed by platters where the magnetic fields that represent the bits are stored. The platters are divided into concentric tracks. In this case sample, we have 12 tracks, as seen in figure 1 a). Now let’s imagine that the platter is a birthday cake and let’s slice it. In this example, in 8 radial equal slices, as seen in figure 1 b). To each piece of track in each slice we call
In this example, we have 8 sectors by track and 96 in one face of the platter.
If we remember how the heads are built, we understand that when they move, they do it as a whole set through the actuator to which they are connected. And they do it in such a way that they are always aligned with the same track in both faces of he platter, as shown in figure 2. When, for instance, head 1 is over track 4 of the top face of platter 1, heads 2, 3, 4, 5, 6, 7 and 8 are over all track 4 of the platters 1 versus, 2, 2 versus, 3, 3 versus, 4 and 4 versus, accordingly. And so they move through all the tracks.
Considering this, we can start by saying that each
defines a face of a platter. And if we imagine the set of tracks that are being accessed simultaneously by the set of heads, we can see that they result of the intersection of an imaginary cylinder that holds all the platters of the HDD. Thus arises the
As another identifying element of a place in the HDD.
Given that the bits to be read or writen in the HDD are always in multiples of a Sector with 512 Bytes, we have the possibility of defining a form of addressing in the HDD, which is called CHS (Cylinder, Head and Sector). Through CHS any sector of the HDD is identifiable.
It’s through the CHS that the HDD characteristics are defined, but in this case, the S doesn’t define sector, but number of sectors per track. All it takes is multiplying the number of cylinders for the number of heads, for the number of sectors per track and for 512 bytes, to get the disk capacity.
Our HDD toy would have 12 cylinders, 8 heads and 8 sectors per track, with the brilliant capacity of 12 x 8 x 8 x 512 = 393.216 Bytes.
How about that? This sort of thing in the Spectrum age would have been wonderful.
Let’s look closely at the sectors on the graphic in figure 1 b). We can see the sector dimension increases from the center to the periphery. This means our bits are better accommodated in the outer sectors. The ones inside live in a one bedroom apartment, the ones on the outside live in a four bedroom one.
But our goal isn’t to get the bits comfy, but to place in the platter the biggest amount possible, respecting the possible density patterns.
So being, we are going to divide the platter into areas, and in each area we’ll divide the cake into slices in a way that the sectors will all have similar sizes. We call this a Bit Zoned platter, this method is used in all current HDD and we can see it in figure 1 c). Of course this graphic is a simple example that is meant to be clear and understandable. In reality, the number of areas is much greater and so is the balance between the sectors, in such a way that the density throughout the platter is more or less constant.
In this case we have a platter with 3 areas in which:
- The 1st area has 4 tracks and 8 sectors for track,
- The 2nd area has 4 tracks and 16 sectors for track and
- The 3rd area has 4 tracks and 24 sectors for track.
That means we have an average density of 16 sectors per track. Has you can see, we doubled the HDD capacity, just by better taking advantage of its space. Now we have an HDD with 786.432 Bytes. Sheesh!
But the reality of bit density per square inch is different. Everyday coding gets more elaborate, and nowadays, 1TB or 2 TB disk drives are ordinary.
The CHS was and is the addressing form of an HDD, but now only through its logic board that knows its geometry. To communicate with the logic board, today we use a logic form of addressing, the LBA (Logical Block Addressing).
Logical Block Addressing in the HDD
Considering what was said earlier about LBA, we realize that today’s relation with the HDD is established through logic and only the logic board can translate those places in the CHS geometry of the HDD.
Now here is something that can’t only be solved through hardware.
Communication between CPU and HDD is complex enough and has to be managed by software, specifically, by the operating systems.
To solve the understanding between humans and the HDD, the Operating Systems created an abstraction called File. To us, everything in the HDD is in the form of files. To the HDD, everything in it are magnetic fields with inversions and non inversions, saved in sectors that contain 512bytes, or 4.096 digital bits.
The OS is in between, providing information about the addresses in LBA. The HDD logic board translates that address into CHS and finds the wanted data.
To manage the files, the OS have the File Systems, of which we will talk about in the next articles, and where we’ll begin to show the logic organization of the data on the HDD.
In this chapter, we saw how the HDD stores the data in its platters, how the OS provides a LBA address to find them, and how the HDD translates them in its CHS geometry.
In the next chapter we’ll see how the OS stores the 2 TB of information in such a way it can quickly know the LBA address of each portion of data that identifies a file.