Login    Forum    Search    FAQ

Board index » Upgrading and Repairing Forum » Laptop Hardware




Post new topic Reply to topic  [ 14 posts ] 
Author Message
 Post subject: Why use 240 Head Geometry?
 Post Posted: Wed Oct 21, 2015 2:07 am 
Offline

Joined: Wed Jan 16, 2008 2:35 am
Posts: 53
Location: Los Angeles, CA
Hi Scott,

My question is: Why did/do many laptop/notebook manufacturers create their product so the BIOS would use a disk geometry having 240 heads? I've been around long enough to remember the first PCs could have disk drives with all sorts of different heads/sectors, and clearly remember a Desktop drive of about 3 or maybe 6 GB having 128 heads. But why have so many of these stuck with some value other than what became the standard 255 heads on Desktop PCs? (Hmm... looking this over again, I see it's really 2 questions: How did it start out this way, and why did it/has it continued in many cases? SEE BELOW)

Please feel free to reiterate and help teach others that geometry is a result of the BIOS that those makers use and not of the drive itself; which I think (just like myself long ago!) many people believe is a property of certain 2.5-inch drives; it's not, you can connect such a drive to a Desktop PC, and it will use 255 heads if you install a Windows OS on it.
Note: This can cause confusion for people trying to grab files off a drive made on some laptop/notebook using a desktop PC; and vice-versa, especially if they happen to use an EXTERNAL drive that can be easily connected to both kinds of PCs.

But again, I would really like to know WHY (or at least get your opinion of why you think this was done and still is being done)? My most simplistic guess is, they already had a BIOS written that worked, so why pay more money to change it! But then I'm still left with the "Why did they even start using values the Desktop PC makers never did?"


Thank you, Daniel (aka, TheStarman).


Top 
 Profile  
Reply with quote  
 Post subject: Re: Why use 240 Head Geometry?
 Post Posted: Wed Oct 21, 2015 11:31 am 
Offline
Site Admin

Joined: Sun Feb 04, 2007 11:44 am
Posts: 5880
TheStarman wrote:
Why did/do many laptop/notebook manufacturers create their product so the BIOS would use a disk geometry having 240 heads?

There is a *detailed* discussion of the specific reasons for this in the section titled "ATA Drive Capacity Limitations" in my book Upgrading and Repairing PCs.

The condensed version is that to break the 528MB barrier the BIOS was designed to employ CHS (Cylinder, Head, Sector) bit-shift geometry translation. It begins with the physical (drive reported) cylinders and heads and, using some simple division and multiplication, comes up with altered numbers for the cylinders and heads. The term bit-shift was used because the division and multiplication math was actually done in the BIOS software by shifting bits in the CHS address, which allows the translation to be done very quickly.

This early form of translation worked by dividing the reported number of cylinders by a power of 2, and then multiplying the number of heads by the same amount. But there was a problem, for drives over 4.2GB it resulted in 256 heads being reported, which DOS/Win9x/Me could not handle. To solve this problem CHS bit-shift translation was revised by adding a rule such that if the drive reported 16 heads and more than 8,192 cylinders (which would result in a 256-head translation), the physical CHS head value would be assumed to be 15 (instead of 16) and the CHS cylinder value would be multiplied by 16/15 to compensate.

The LBA-assist translation scheme based on LBAs (Logical Block Addresses) instead of CHS allowed the number of heads to be set to 255, however this required a drive that supported LBA addressing.

On many BIOS the translation could be selected as “Normal” (no translation), ECHS or “Large” (CHS bit-shift translation, most BIOSs from 1997 and later use the revised method reporting 240 logical heads maximum), and LBA (LBA-assist translation). Drives over 8.4GB are automatically addressed via LBA.

There is *much* more detail on all of this in my book (20 some pages worth!), including examples of the math involved in the various translation methods. These schemes were used by both laptop and desktop systems, although desktops usually offered more choices in the BIOS Setup. Scott.


Top 
 Profile  
Reply with quote  
 Post subject: Re: Why use 240 Head Geometry?
 Post Posted: Fri Oct 23, 2015 6:43 pm 
Offline

Joined: Wed Jan 16, 2008 2:35 am
Posts: 53
Location: Los Angeles, CA
Thank you Scott,

I understand about why translation was necessary before PC BIOS were able to become more or less standardized for drives with capacities in the double digits of Gigabytes, but my main question is: "Why did a number of Laptop/Notebook BIOS continue to use a disk geometry of only 240 (or possibly some other values), instead of the 255 heads that all Desktop PCs have been using since, let's say, triple-digit Gigabyte capacity drives have been in use?" Note: This is *not* to say that you can not find any Notebook PCs that do not use a 255 head geometry with Windows XP or Windows 7 OSs installed on them. But there were enough of them for this to still be a problem for some of my web page readers trying to view files on their Notebook/Laptop when connecting the drive to a Desktop PC.

FOR ANYONE READING this page who has a Notebook/Laptop, perhaps you could take a look at the Partition Table of your drive and let us know what you see there? If you are using Windows, you can get a free demo of WinHex and learn how to view the Partition Table, or you could download HxD and look at the raw hex data of the first sector of the drive; there are also other free utility programs that will display this data for you.

(My web page here explains how to use/get some of these types of tools:
http://thestarman.pcministry.com/asm/mb ... lsRefs.htm

It may be that all new Laptops/Notebooks for the past few years all use 255 heads now; if they have not already started using the GPT/EFI/UEFI format. But I believe there are still some users out there; say those still running Windows XP, who will find something other than 255 heads in their Partition Tables.


TheStarman.


Top 
 Profile  
Reply with quote  
 Post subject: Re: Why use 240 Head Geometry?
 Post Posted: Sat Oct 24, 2015 7:51 am 
Offline

Joined: Sun Jul 20, 2008 10:50 am
Posts: 508
Location: Phoenix, AZ, USA
15/16 = 0.9375 X 256 = 240 ... still this doesn't answer the why does it?

Thanks for asking the question. I hadn't even noticed. Nor that there was a possibility of an issue between use of 2.5" drives in laptops versus desktops and the implications of external drives going back and forth in between.


Top 
 Profile  
Reply with quote  
 Post subject: Re: Why use 240 Head Geometry?
 Post Posted: Sat Oct 24, 2015 10:39 am 
Offline
Site Admin

Joined: Sun Feb 04, 2007 11:44 am
Posts: 5880
It appears that you guys missed the part answering the "why":
Scott wrote:
...This early form of translation worked by dividing the reported number of cylinders by a power of 2, and then multiplying the number of heads by the same amount. But there was a problem, for drives over 4.2GB it resulted in 256 heads being reported, which DOS/Win9x/Me could not handle. To solve this problem CHS bit-shift translation was revised by adding a rule such that if the drive reported 16 heads and more than 8,192 cylinders (which would result in a 256-head translation), the physical CHS head value would be assumed to be 15 (instead of 16) and the CHS cylinder value would be multiplied by 16/15 to compensate.


Top 
 Profile  
Reply with quote  
 Post subject: Re: Why use 240 Head Geometry?
 Post Posted: Mon Oct 26, 2015 9:47 am 
Offline
Site Admin

Joined: Sun Feb 04, 2007 11:44 am
Posts: 5880
TheStarman wrote:
FOR ANYONE READING this page who has a Notebook/Laptop, perhaps you could take a look at the Partition Table of your drive and let us know what you see there?

I used the free partinfg.exe utility (included in PartInfo), which shows a 255 head translation by the BIOS in my ThinkPad T520. As indicated in my first post above this means the BIOS is using LBA-assist translation instead of CHS bit-shift translation as the latter would have translated to 240 heads. Scott.


Top 
 Profile  
Reply with quote  
 Post subject: Re: Why use 240 Head Geometry?
 Post Posted: Tue Oct 27, 2015 2:46 pm 
Offline

Joined: Wed Jan 16, 2008 2:35 am
Posts: 53
Location: Los Angeles, CA
Scott wrote:
TheStarman wrote:
FOR ANYONE READING this page who has a Notebook/Laptop, perhaps you could take a look at the Partition Table of your drive and let us know what you see there?

I used the free partinfg.exe utility (included in PartInfo), which shows a 255 head translation by the BIOS in my ThinkPad T520. As indicated in my first post above this means the BIOS is using LBA-assist translation instead of CHS bit-shift translation as the latter would have translated to 240 heads. Scott.


Yes, an excellent choice; use the free partinfg.exe utility which Scott recommended from Terabyteunlimited. I like that this shows (in decimal equivalents) what the actual hex byte values are in the Partition Table, so you could look at the raw data in a Hex/Disk Editor when learning how to interpret that data yourself. For example, wherever partinfg.exe shows "254" ("FE" hex) for a head value, that is what the actual table contains, rather than some program that tells you this means it is using 255 heads. The same is true for the cylinder values, that if you see "1023" here, because both cylinders and heads start with a "0" value, that would mean a total of 1024 cylinders. (Note: Sector counts do *not* start with zero, so a value of "63" is 63 total.)

Therefore, if you see a head value of "239" when using this utility, that would be the same as it using "240" heads total. It should also be noted that the starting point of a partition (and possibly with Win 7 the ending point as well) might not use a full cylinder count, also known as starting or beginning at a "cylinder boundary". If so, the head values could be something LESS than what the BIOS limit is. With Win XP, the first partition always started at Sector 63, and with Windows 7, that became Sector 2048. NOTE: In contrast to what I stated above about sector values in the Partition Table, when using LBA Sector numbers (as I just did for 63 and 2048), those do start counting from ZERO ("0"). In any case, when a partition starts or ends anywhere that is past about 8.42 Gigabytes, the values in the Partition Table's Starting CHS and Ending CHS sections will be the full count. For a Desktop PC, that is almost always going to be "1023, 254, 63".


TheStarman.


Last edited by TheStarman on Thu Oct 29, 2015 1:18 am, edited 1 time in total.

Top 
 Profile  
Reply with quote  
 Post subject: Re: Why use 240 Head Geometry?
 Post Posted: Tue Oct 27, 2015 3:02 pm 
Offline

Joined: Wed Jan 16, 2008 2:35 am
Posts: 53
Location: Los Angeles, CA
Scott,

I didn't miss the "Why" part of your post regarding HOW one arrives at 240 head geometry, but rather my questions were WHY was there a difference in how the BIOS of many Laptop/Notebook PCs handled disk geometry compared to Desktop PCs? I had only asked you this hoping you might have enough contacts in the industry or come across enough interview type articles from the industry to know that. Otherwise, we can only (as I first stated) guess that the BIOS company those Laptop/Notebook manufacturers used did not want to do any further development to add the LBA routines to their BIOS code either for monetary reasons, fear of possibly breaking the code or maybe due to some contractual or copyright reasons. That's the WHY I was asking about.


TheStarman.


Top 
 Profile  
Reply with quote  
 Post subject: Re: Why use 240 Head Geometry?
 Post Posted: Wed Oct 28, 2015 12:27 am 
Offline
Site Admin

Joined: Sun Feb 04, 2007 11:44 am
Posts: 5880
TheStarman wrote:
I didn't miss the "Why" part of your post regarding HOW one arrives at 240 head geometry, but rather my questions were WHY was there a difference in how the BIOS of many Laptop/Notebook PCs handled disk geometry compared to Desktop PCs?

Note that there was no direct correlation between the translation method and whether the system was a desktop or a laptop, for example my ThinkPad uses LBA-assist resulting in 255 heads. However I would say that in my experience most laptops did not offer a choice in the translation method while many if not most desktops did. I believe that was due to the fact that laptops were normally sold as complete systems with proprietary motherboards and custom BIOS while desktop systems were built using standardized and/or more universal motherboards and BIOS.

For those BIOS that did offer a choice in translation, choosing "Large" or "ECHS" translation in the BIOS Setup resulted in CHS bit-shift translation (i.e. 240 heads for drives over 4.2GB) while choosing "LBA" resulted in LBA-assist translation (255 heads).

In the era when drives were first surpassing 4.2GB some did not support LBA addressing and would therefore not support LBA-assist translation, while all drives supported CHS translation by default. At the time if I were building a BIOS that offered no choice in translation for drives below 8.4GB I would choose CHS bit-shift translation (resulting in 240 heads for drives over 4.2GB) as that would accommodate *all* drives. Perhaps that is the answer you were looking for?

You can see more information on translation methods in my book here: http://www.quepublishing.com/articles/a ... 4&seqNum=6

Scott.


Top 
 Profile  
Reply with quote  
 Post subject: Re: Why use 240 Head Geometry?
 Post Posted: Wed Oct 28, 2015 2:30 pm 
Offline

Joined: Wed Jan 16, 2008 2:35 am
Posts: 53
Location: Los Angeles, CA
Hi Scott,

Yes, that's what I had been trying to get at... that is a good answer for the first of what was really two questions: Why there could be a difference between a Laptop/Notebook and a Desktop PC in regards to disk geometry.

My 2nd question had ended up being: Why for some Laptop/Notebook manufacturers that difference continued even beyond the point of having drives with triple digit GB capacities; not just up to 8.42 GB?

I hesitated even asking that question, since I do not have any data from tests of my own to back-up that statement; only client's experiences. This is why I hope others in this forum can contribute some data about their own Laptop/Notebook PCs from various manufacturers, and discussed the utility you mentioned above.
Logically, you would think for drives over 8.42 GB, there shouldn't be any differences in how the drive is partitioned/used, since for any drive using the standard MBR partitioning scheme, only the LBA addressing should be in use. But, what happens at the beginning of such a drive in the area under 8.42 GB? Will you see for a common Windows 7 OS install, a disk geometry of 255 heads, or something else? (Not to mention, there could be some small FAT partition a name brand company might install in front of the Windows 7 partitions; making it possible to see 5 sets of different CHS values in that area: Both the Starting and Ending for that FAT partition, both for the "System Reserved" partition and the Starting set for the main Win 7 OS partition; its Ending CHS values could possibly still use only 239 for the head value instead of 255.)

And the most important question which must be backed-up by some real-world tested examples: Is it possible to read data from all Laptop/Notebook drives with a capacity, let's say that exceeds 137 GB, when connecting it to a Desktop PC as a slave drive, or will you have problems with some drives depending upon the manufacturer's BIOS in use on the Laptop/Notebook?


TheStarman.


Top 
 Profile  
Reply with quote  
 Post subject: Re: Why use 240 Head Geometry?
 Post Posted: Thu Oct 29, 2015 9:52 am 
Offline
Site Admin

Joined: Sun Feb 04, 2007 11:44 am
Posts: 5880
TheStarman wrote:
My 2nd question had ended up being: Why for some Laptop/Notebook manufacturers that difference continued even beyond the point of having drives with triple digit GB capacities; not just up to 8.42 GB?

Because for drives over 8.4GB the translation scheme became moot since the OS, BIOS and drive must fully support LBA addressing. In that case the OS ignores the CHS info in the MBR and only uses the starting LBA and total number of sectors values to define partition boundaries instead.

Most if not all systems had full LBA support around 1998 (around the time when the 8.4GB barrier was breached), so those BIOS using a default CHS bit-shift translation scheme (i.e. many laptops) would have no reason to change going further. Why change something that wasn't going to be used anyway?

Quote:
Is it possible to read data from all Laptop/Notebook drives with a capacity, let's say that exceeds 137 GB, when connecting it to a Desktop PC as a slave drive, or will you have problems with some drives depending upon the manufacturer's BIOS in use on the Laptop/Notebook?

If the drive is functional there shouldn't be any problem reading the drive directly (e.g. via a sector level disk-editing tool) or via a modern OS as long as the partition table(s) and file system(s) aren't corrupt. Scott.


Top 
 Profile  
Reply with quote  
 Post subject: Re: Why use 240 Head Geometry?
 Post Posted: Sat Oct 31, 2015 8:43 pm 
Offline

Joined: Wed Jan 16, 2008 2:35 am
Posts: 53
Location: Los Angeles, CA
Hi Scott and all,

Well of course I wouldn't expect there to ever be a problem reading from a Laptop or Notebook drive connected to my Windows PC when using WinHex, HxD or any other low level disk editing tool... provided the drive is physically/electrically healthy.
I can read sector data from a Mac drive, UNIX, Linux, etc. that way too; under Windows.

The possibility of a problem would only be when using a Windows OS to open the file system and attempt to read files from the drive. I'm also at this time, not sure if it may only be that Windows XP/2k would have an issue, but not Windows 7; or not after SP1.
As I stated earlier, this really needs to be fully tested using Laptop/Notebook PCs from all different kinds of manufacturers that were shipped with let's say at least 40 GB capacity drives or more, when there shouldn't have been any problems with the BIOS doing LBA to reach data that far beyond the 8.4 GB limitation. If I had access to some Toshiba, Acer, DELL, HP, etc. laptops, I would gather the data, or pull out the drives and run some tests by connecting them to my PC, but I do not. Which is why I'm hoping that some (with such machines) reading this would offer to do some testing. I can be contacted via email by writing it down from here (if you want to do that instead of posting the information here directly):
http://thestarman.pcministry.com/FF.html


TheStarman.


Top 
 Profile  
Reply with quote  
 Post subject: Re: Why use 240 Head Geometry?
 Post Posted: Wed Nov 04, 2015 7:38 am 
Offline
Site Admin

Joined: Sun Feb 04, 2007 11:44 am
Posts: 5880
I have connected many >8.4GB laptop drives to desktop systems (running XP and later) over the years without any sort of translation issues. I believe that is because for drives over 8.4GB the CHS parameters are simply not used. In that situation the drive is addressed purely via LBA, both from the BIOS to drive as well as the OS to BIOS. In my book I wrote a "Caution" with a warning about translation problems when moving drives between systems, but only for drives less than 8.4GB in capacity. Scott.


Top 
 Profile  
Reply with quote  
 Post subject: Re: Why use 240 Head Geometry?
 Post Posted: Wed Nov 04, 2015 2:37 pm 
Offline

Joined: Wed Jan 16, 2008 2:35 am
Posts: 53
Location: Los Angeles, CA
Scott wrote:
I have connected many >8.4GB laptop drives to desktop systems (running XP and later) over the years without any sort of translation issues. I believe that is because for drives over 8.4GB the CHS parameters are simply not used. In that situation the drive is addressed purely via LBA, both from the BIOS to drive as well as the OS to BIOS. In my book I wrote a "Caution" with a warning about translation problems when moving drives between systems, but only for drives less than 8.4GB in capacity. Scott.


Thank you Scott,

It may be that those who told me they had issues, were using a utility program which required / depended upon the CHS disk geometry given in the PC's Partition Table (from its BIOS) to access the partitions on a drive.

In some cases, there can be a difference apart from the PC's BIOS, be it a Laptop or Desktop: Those who installed Linux (new versions of Linux may no longer be affected like this!) on drives well beyond 8.4 GB would often see it use pseudo CHS values with 16 as the maximum number of heads (or "15" as the value that would appear in Partition Table listings generated under that OS); even though a Windows OS installed on the same PC, or 3rd party utilities used to access the disk drive, showed some other number of heads as being used in the Partition Table.

Also, regardless of whether Win XP, 7 or later on a Desktop PC can access files in a file system created on any non-Desktop PC, I've seen that some Laptop/Notebook BIOS and an OS dependent upon it (i.e., Windows) for some things will still place a value other than "254"/"255" into the Partition Table for the CHS head values; usually the "239"/"240" value. Apparently such BIOS still kept remnants of the old code, even though they began to use LBA for accessing drives over 8.4 GB. It is this difference in the CHS part of the Partition Table that can cause a problem for some software programs, and also confuse people.


TheStarman.


Top 
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
 
Post new topic Reply to topic  [ 14 posts ] 

Board index » Upgrading and Repairing Forum » Laptop Hardware


Who is online

Users browsing this forum: No registered users and 3 guests

 
 

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron