How does Large differ from LBA and from CHS? Converted number of cylinders, C.

Question:

Can someone explain how Large differs from LBA and from CHS? Depending on what to choose these parameters? Or give me a link where I can read about it.

Answer:

LBA, Large, CHS - methods for translating sector numbers in a hard drive.
In the past, when hard drives were small, a sector was accessed like this:
The application (the operating system in particular) calls function 2 (read sector) (or 3 - write) of the BIOS interrupt int 13h and passes it three coordinates of the required sector - cylinder (track), head, sector number on the track. These three parameters could take values ​​0-1023, 0-255, 1-63, respectively, track, head, sector (if we multiply these numbers we get 8 GB, the capacity is quite large by today’s standards, but it’s hard to imagine a disk with such parameters) . These ranges were laid down by the BIOS developers of the very first IBM PC back in 1981 (I think). Then these restrictions did not cause any particular inconvenience, since the most capacious drive of 30 megabytes had 27 sectors per track, 4 or 6 heads with 100-150 cylinders. Those for whom these megabytes were not enough installed a second disk. The transmitted coordinates were entered one to one, without any transformations or recalculations, into the registers of the disk controller.
IDE drives soon appeared, which were more capacious and less bulky. The hardware registers of their controllers made it possible to address 256 sectors, 16 heads and 65536 tracks. However, the actual disk sizes were still far from these figures and therefore the same BIOS functions with the same restrictions were used. The BIOS operating algorithm was the same as before - the specified coordinates were also sent to the controller, etc.
This method of addressing sectors is now called direct sector addressing or CHS (Cylinder-Head-Sector). It is used when you need to connect an old disk to a modern machine, as well as when you need to run some stupid programs. If you try to use this method to access a screw with a capacity higher than 514 MB, the system will see only the first 514 MB - for reasons - see LBA.
Over time, it became clear that it was physically impossible to place 256 heads in the disk housing, while increasing the number of cylinders was much simpler and easier. Disks with a maximum capacity of 514 raw megabytes could not meet the ever-increasing demands of new software and multimedia systems. Even installing 2 or 4 disks did not solve the problem, it only postponed it for some time.
Then a number of methods were developed to circumvent the limitation of the outdated BIOS. There are software solutions here, like the once popular ADM, and rather exotic hardware solutions, when one physical disk was presented to the system as 2 or even 3 disks. But they all had their drawbacks and limitations. So, ADM immediately “died” at the slightest damage to the MBR, and the “split” disk did not allow connecting a slave drive. The only method that has taken root is Large. It is applicable for drives that have a cylinder number between 1024 and 2048 and do not support LBA (see below), but such drives are practically not found today. This method “deceives” the BIOS parameter transfer system, increasing the number of heads by 2 times and reducing the number of cylinders by the same amount, thereby driving it into the framework of 2/3 functions and without changing the disk capacity.
In 1994, the LBA - Large (or Logic) Block Addressing standard appeared, which is still in use today.
LBA uses the so-called broadcast of sectors, in which its real parameters differ from those seen by the system. The broadcast made it possible to solve a number of other, purely technical, internal problems. For example, the problem of bad sectors. Previously, such places were blocked at the FAT level, and no one could prevent a program working at the sector level from writing to damaged places. The broadcasting controller automatically removes such sectors from circulation, substituting others in their place. Neither the BIOS nor the OS ever knows about this. Another feature - have you ever wondered how the 16 heads it reports fit into your 2cm thick drive case? The answer is simple - they simply are not there. In modern disks, most often there is one platter (respectively 2 heads), less often 2, even less often - 3. But on this platter there is a huge number of concentric tracks (cylinders). And what the controller produces is a so-called virtual disk with unrealistic parameters.
LBA addresses the sector not with 3 coordinates, but with one - a logical number - just as DOS does in its int25/26h interrupts. This number has a length of 3*8+4=28 bits - accordingly, max 2^28 sectors - convert them into megabytes yourself. The screw produces maximum parameters in the old CHS scheme, i.e. for example, a disk has 16 heads, 63 sectors and 30,000 cylinders, and now only the number of cylinders changes; the number of heads and sectors is almost always the same. To bypass this same BIOS limitation, an algorithm is used, the same as in Large, i.e. dividing the cylinders by 2, and the heads by *2, only here it works more than once, as in Large, until the number of heads reaches 256, or the number of cylinders becomes less than 1023. The number of sectors does not change. So it turns out something like 63 sectors, 256 heads and 790 cylinders - full compliance with the BIOS restrictions. When accessing a sector, its 3 coordinates are recalculated into an LBA number, and it is transmitted to the controller.
If you “tell” the BIOS to work with a large screw in Normal (CHS) mode, then it will use the first 1024 cylinders - we will get the same 514 unformatted megabytes mentioned above.
Working with drives over 8 GB is similar, since the LBA addresses much more than 8 GB, only instead of the good old functions 2 and 3, others are used that have less stringent restrictions on the numbers of tracks, heads and sectors.
Paul

Question: Confused about gigabytes


Hello.

Confused in gigabytes and gigabits.

There is a server with an LSI SAS 9211-8i card. ds3512 is connected to it.

At what maximum speed can they communicate with each other?
In gigabytes and gigabits

Thank you

Answer:
on the same page, table 2) all speeds are written there depending on the duplex and the number of lines)

won't that shelf be limited by interface performance? Can a gigabyte be freely pumped?)

Question: I transferred the hard drive from gpt to mbr using a third-party program, after the transfer the computer stopped reading it


Guys need help. In general, I transferred the hard drive from gpt to mbr through a program, without losing data, in order to give a little memory to the main drive. After the translation, the computer stopped reading it and requires formatting it to work. But I can’t do this, because important data remains there. I tried to transport the same thing back. Tell me how to get everything back, or at least a program so that I can read this data and transfer it to another place before formatting

Answer:

Message from dmitry911

In general, I converted the hard drive from gpt to mbr through a program, without data loss, to give a little memory for the main disk.

Through what program? Finish the deal once you've started.

Message from dmitry911

Tell me how to get everything back, or at least a program so that I can read this data and transfer it to another place before formatting

First, show what DMDE sees in the Partitions window
There may be a chance to restore the markup in place, it depends on the degree of “glitchiness” of the super-program with which they mocked their data.
For recovery programs, I usually recommend Rsaver (Free) and R-Studio.

Question: Where did the gigabytes on your hard drive go?


1) Very often the question pops up on the forum:
“I bought a 1 terabyte hard drive, but the system shows that there are 931 gigabytes on it, where did the gigabytes go? Or maybe the hard drive is faulty? Or was I deceived?”
We answer: this difference arises in the different interpretation of the prefixes “kilo” “mega” “giga” “tera” (and so on) by manufacturers of hard drives using

And the binary representation of information in a computer is powers of two:
2^10 kilo = 1024 bytes
2^20 mega = 1048576 bytes
2^30 gig = 1073741824 bytes
(although it would be more correct to call them “kibi” “mebi” “gibi” (don’t laugh, these prefixes really didn’t catch on))
So:
Terabyte, in the concept of hard drive manufacturers: 1000000000000, we begin to divide:
1000000000000 /1024 = 976562500 kilobytes
976562500 /1024 = 953674.3 megabytes
953674.3 /1024 = 931.3 gigabytes.
that's the trick.

2) Many IDE drives have a capacity “cutting” mode up to 32 GB and this mode is activated with a special jumper,
the purpose of which can be read on the HDD sticker. This mode (32GB Clip) is useful if the motherboard freezes when detecting the disk at the initial startup stage.
Accordingly, if the jumper is removed, the disk will again begin to be detected at its original capacity.
this information is not relevant for SATA drives.
Once you purchase an IDE hard drive, check to see if it is installed.
Or if suddenly the disk is “cut down” to this size, check if anyone is playing a joke on you.

3) one more question, also quite old, but still:
When I connect a 250GB hard drive to my ASRock motherboard, Windows® 2000 or XP only recognizes 128GB or 137GB. How can I solve this problem?
answer:
import this key into the registry
and overload, of course.

REGEDIT4 "EnableBigLBA"=dword:00000001

4) Another reason why the visible capacity of a hard drive may differ from the rated capacity:
Host Protected Area: changing the physical volume of the disk

Is it possible to turn a 120 GB disk into 20 GB? Of course yes - for example, create one 20 GB partition on it and not use the rest. And so that it is also defined as 20 in the BIOS? But why? - you ask. For example, to protect information from viruses or from accidental damage/deletion. Or, if the old BIOS hangs on the auto-detection of a screw exceeding 32 GB, and The manufacturer did not provide jumpers that limit the volume... Or (God forbid), bad blocks appeared on the hard drive at the very end, and they need to be hidden from the operating system so that it doesn’t even get there when formatting. In general, there are options. a lot of...

Host Protected Area is a reduction in the number of available physical sectors on a hard drive, with a corresponding correction of the disk passport. Those. a disk trimmed by HPA will be determined to have a smaller volume (compared to the one set by the manufacturer), which will make the trimmed part inaccessible to either the OS or BIOS. Accordingly, other programs, such as formatting and checking, will not be able to access the hidden part. The disc is always cut from the end, i.e. With HPA, you cannot cut out an arbitrary area in the middle, and you cannot move the beginning of the disc. As with AAM, HPA results persist after power is turned off.

5) Another sensational problem at one time was the so-called “DC fly”, which greatly undermined confidence in Seagate Barracuda brand hard drives

Suspicions began to appear back in December last year, when service centers began to increasingly receive Seagate 7200.11 series drives with the same symptoms - when the computer was turned on, the hard drive was not detected at all or was detected, but with a capacity of 0 GB. At the same time, both the electronics and the mechanics of the disk are completely functional. As it turned out, the problem lies in the so-called translator table, which is responsible for converting the real physical addressing of the disk into a logical one - due to an error in the disk firmware, this table can be destroyed, which will lead to the symptoms described above. In this case, all user data on the disk remains safe and sound, but is no longer accessible to the computer.

(quote dated January 2009)
The problem affected the Seagate Barracuda 7200.11, ES.2 and DiamondMax 22 models.
Currently, it is rare but occurs.
If you know how to hold a soldering iron in your hands, then you can easily expel the CC fly with the help of a simple device.
I will not give the entire treatment mechanism here; it is now being simply searched for on the Internet.

Models at risk are:
ST3500320AS, ST3500620AS, ST3500820AS, ST3640330AS, ST3640530AS, ST3750330AS, ST3750630AS, ST31000340AS with firmware AD14, SD15, SD16, SD17, SD18, SD19
STM3500320AS, STM3750330AS, STM31000340AS, STM31000333AS with firmware MX15 and older
ST31500341AS, ST31000333AS, ST3640323AS, ST3640623AS, ST3320613AS, ST3320813AS, ST3160813AS
STM31000334AS, STM3320614AS, STM3160813AS
ST3250310NS, ST3500320NS, ST3750330NS, ST31000340NS

Here you can check your disk for the need to update Firmware.
or a program from Seagate:

There are, of course, other reasons for the loss or change in capacity of hard drives and flash drives, but more on them later.

Answer:

Message from magirus

terabyte, in terms of hard drive manufacturers: 1000000000000

Absolutely right...
in the Middle Ages, manufacturers would have been burned at the stake for such heresy

Question: dual-channel mode on 2+1 gigabyte sticks


The question, I guess, is noobish. But, nevertheless, I have not seen a direct answer to this anywhere.

How exactly does the built-in (on the mother) video take up part of the RAM?

Let me explain. I have an old computer with 3 (2+1) gigabytes of RAM. I would like to speed it up a little for free. No hardware upgrades.

And the first thing that came to my mind was to increase the size of the memory allocated for the built-in video. By default, 256 megabytes are allocated. The BIOS allows you to set values, it seems, up to 2 gigabytes. But such an ancient video card as the Radeon HD3100 (780V chipset) does not need so much memory. And Windows will only have 1 gig left, which is not enough. I decided to allocate 1 gig. And this is where the actual question arose: If I allocate 1 gig of video from a 2 gig stick, can I enable dual-channel memory mode? After all, in fact, both strips will become 1-gigabit. Or does everything happen the other way around: from a pair of strips already operating in dual-channel mode, memory is allocated for the video chip?

Answer: komandor, thanks for the detailed answer

Question: 3 gigabytes in the GTX1060, is it really that scary?


In general, as we know, the GTX1060 is available in two variations: 3 gigabytes and 6, respectively. So, in addition to the memory, the chip was cut. They disabled some kind of cluster, I actually have no idea what it is, because... For me, “numbers and letters” are the main thing. I watched the video and it is clearly visible that it is the amount of memory that decides, because... in the same Tomb Raider, when unloading memory in closed locations, the FPS is almost comparable. And in simpler games (GTA, Witcher) in terms of memory) it is the same in 90% of cases. So, is there any reason to take 3 gigabytes for such games? Because I won’t play Lara anyway, I’ve never even met her. As sad as it is (albeit fun), in a year Volta will see the light of day and humiliate Pascal the same way it happened to Maxwell. With higher performance and lower price. An example of this is again the GTX1060, which almost lowered the GTX980. Well, it’s probably worth announcing the most important thing. The difference will be 3-4 thousand. I ask you to think and understand this situation, because... Each new generation gives an increase in geometric progression, and the card will have to be sold, and 3 gigabytes will be easier to save, IMHO.

Answer: Here's an even better option for you, 1050ti with 4 gigs of memory. even cheaper

Question: Of the 4 gigabytes (3 sticks: 2,1,1) of DDR2 RAM, only 2.74Gb is available


(windows7*64bit). Maybe because there is only one AB?
1 gigabyte DDR2 6400 800
Hynix HYMP112U64CP8-S6 AB
(1R *8PS2-6400U-666-12)
1 gigabyte DDR2 6400 800
Hynix HYMP112U64CP8-S6 AB-C
(1R *8PS2-6400U-666-12)
2 gigabytes DDR2
Hynix HYMP125U64CP8-S6 AB-C
(2R *8PS2-6400U-666-12)
timings for all three are the same 6-6-6-18
motherboard asus P5B-V 4 slots (2 yellow 2 black)

Extract from the manual

DIMM support:
A - Supports one module inserted in any slot as Single-channel memory configuration.
B - Supports one pair of modules inserted into eithor the blue slots or the black slots as
one pair of Dual-channel memory configuration.
C - Supports 3 modules inserted into both the blue and black slots as two pairs of Dualchannel memory configuration.

2.4 System memory
2.4.1 Overview
The motherboard comes with four Double Data Rate 2 (DDR2) Dual Inline Memory
Modules (DIMM) sockets.
A DDR2 module has the same physical dimensions as a DDR DIMM but has a
240-pin footprint compared to the 184-pin DDR DIMM. DDR2 DIMMs are notched
differently to prevent installation on a DDR DIMM socket.
The figure illustrates the location of the DDR2 DIMM sockets:

2.4.2 Memory configurations
You may install 256 MB, 512 MB, 1 GB, and 2 GB unbuffered non-ECC DDR2
DIMMs into the DIMM sockets.

You may install varying memory sizes in Channel A and Channel B. The
system maps the total size of the lower-sized channel for the dual-channel
configuration. Any excess memory from the higher-sized channel is then
mapped for single-channel operation.
Always install DIMMs with the same CAS latency. For optimum compatibility,
it is recommended that you obtain memory modules from the same vendor.
If you install four 1 or 2GB memory modules, the system may only recognize
less than 3GB because the address space is reserved for other critical
functions. This limitation appears on Windows® XP 32-bit operation system
which does not support Physical Address Extension (PAE).
If you install Windows® XP 32-bit operation system, a total memory of less
than 3GB is recommended.
The total memory may has 8MB reduction under Single Channel mode, and
16MB reduction under Dual Channel mode because the address space is
reserved for Intel® Quiet System Technology.
Due to chipset limitation, double x16 memory modules or memory modules
with 128MB chips are not supported on this motherboard.

Notes on memory limitations
Due to chipset limitation, this motherboard can only support up to
8 GB on the operating systems listed below. You may install a maximum of
2 GB DIMMs on each slot, but only DDR2-533 and DDR2-667 2 GB density
modules are available for this configuration.
32-bit 64-bit

Some old-version DDR2-800/667 DIMMs may not match Intel®'s
On-Die-Termination (ODT) requirement and will automatically downgrade
to run at DDR2-533. If this happens, contact your memory vendor to check
the ODT value.
Due to chipset limitation, DDR2-800 with CL=4 will be downgraded to run
at DDR2-667 by default setting. If you want to operate with lower latency,

Due to chipset limitation, DDR2-667 with CL=3 will be downgraded to run
at DDR2-533 by default setting. If you want to operate with lower latency,
adjust the memory timing manually.

Answer: vladmed174,

Question: After using "Acronis Disk Director 12" several gigabytes were lost


I understand that I made a grave mistake by using this bad program. It was necessary to transfer gigabytes from drive D to C, but at the second stage many errors appeared. And the computer rebooted, the gigabytes that I wanted to transfer from D were lost in the chaos, C remained with the same volume. I've lost quite a lot of gigs... Help me get them back, I saw a similar topic, but I didn't really understand anything. I have Windows 8.1x64, if you need anything else I will provide it, just please help me!

Answer: I agree about software, I think it’s hard to find ideal programs (and most likely to create them too), essentially you look at them the same, but they don’t seem to be the same, you’ll be lucky if the program does something bad, but not very bad. For some people I read, after acronis, the D drive stopped opening altogether, fortunately this didn’t happen to me, I don’t understand the computer field of hard drives, and I had to find something that would do everything for me, this turned out to be a bad experience, but later it turned out , that he helped me, while investigating this problem, I did learn something... I know a lot about computers, but it’s completely impossible to know a computer and increasing your experience, albeit in dangerous ways, certainly won’t hurt. True...the main thing is not to overdo it with danger)))

Question: Disk speed is 64 megabytes. Health 25% since 2012. The disk is still alive


Guys, help me with advice if it's not difficult. I don't understand hard drives, that's why it's important to me understand the logic of what is happening. Let's start in order. I remember perfectly what and how I had.

In 2008 I built a PC. There was a 320 GB hard drive from Seagate. In 2009, I bought a 1500 GB disk from Seagate, model ST31500341AS, for 5,000 rubles. From 2008 to 2012 I didn’t touch the computer, I didn’t use any software.

When in 2012 I climbed into the same Crystal Disk Info, there were a lot of alarms and a Warning inscription. Well, what should I do with this, I just gave up. Then I used different programs for the hard drive from the collection (reanimator). So they all wrote that the “health” of the disk is 25%, that of the 1500GB disk. That disk is 320GB, its health is 30%.
The forecasts of these programs were very deplorable, the disks had to live from 2 to 6 months (I don’t remember exactly).

So you want a joke:
That disk is 1500 GB, I used it as file storage for TORRENTS. From 2009 to 2014, from 12 o'clock to 2:00 am, I always had a torrent client running that distributed torrents. Sometimes there were 30 hands, sometimes 60, 90 and even 120. Distributions like 15 seasons of “MythBusters”, 100 gigs distribution, but this is the largest. Let me remind you that this disk is 25% healthy.

The system drive, for the OS and toys, is 320 GB. Since 2008 never on it there was not a single torrent. This drive is 30% healthy.

Both discs are still alive in 2017! So you ask, what are you writing to us then?

My father and I conducted a disk speed test. My father was very surprised why my disk provides 64 megabytes for writing and reading. For example, my Father has a disk from 2009-2010, easily gives 180 megabyte. My father explained to me that anything less than 100 is the Stone Age standard. That there are problems in my system.

Added after 9 minutes
p.s.
Forgot to mention something. For prevention purposes, in 2013, I launched MHDD. First, I completely erased both disks, then I wrote one to each sector of each disk, so that in the end I could look at a certain “PING”, the ping of each sector. So there were no slow and bad sectors on the 320 disk. There were no bad ones on disk 1500, slow ones from 3-5. The disk does not need care; the firmware itself manages bad sectors. I've never done defragmentation. Why, if in principle it never exceeds 20-25%.

Answer: What do you want to hear in response to your essay?
The death of a hard drive is as unpredictable as the death of a person.

Question: Gigabytes are missing


I encountered this problem:
I have a 1tb hdd (or rather 931gb) transcend storejet 25d3.
It is filled with 110 gigabytes, and when I try to write anything more than 4 GB onto it, it writes that there is no free space and suggests clearing it, although there are still 821 GB free.
Can you tell me what the problem is?

In the distant 80s of the last millennium;), during the times of probably little-known MFM and RLL, to access the hard drive you had to know (and specify) its “geometry”. By "geometry" we mean the "physical" number of cylinders (tracks) (" C" - from Cylinders), heads (" H" - from Heads), and sectors per track (" S" - from Sectors). That is, any block of information on the hard drive was characterized by three variables: C, H and S (hence - CHS addressing). And it should be noted that these values ​​have always been “real”.
All modern hard drives have a fundamentally different information density and, for example, even such a seemingly “logical” value as S - the number of sectors per track, does not even closely correspond to the value indicated on the hard drive label (and when detected in the BIOS). In reality, the number of sectors per track is variable and decreases as you approach the last (outer) inner track. Therefore, to overcome this ambiguity, the hard drive controller “reports” to the BIOS not real values, but parameters that are “readable” for it, translating the “coordinates” already received from it into “real” ones.
For example, a hard drive may contain two plates and, accordingly, four heads, and the controller will “tell” the BIOS about the 16 available heads. Moreover, the BIOS, for the sake of “readability” of the operating system, can furiously “claim” that the hard drive has not 16, but as many as 255 heads. In turn, the OS will add to the problems of all these “recalculations” restrictions on the volume of the partition due to the use of a specific file system (for example, FAT16). It is precisely because of such a multifaceted problem that many people argue so often, confusing and mixing up problems of different origins. Let's try to clarify all aspects of the problem.

To understand the “limitations” you need to have a fairly clear understanding of the entire structure of working with the disk: from the application to the read/write heads themselves.

Schematically, the recording process can be represented as follows:

1. Let's look at the "formats" of each stage.
The hard drive “physically” consists of one or more plates coated with a magnetic layer. On both sides of the plate (sometimes only on one) there are read/write heads.

2. Information is recorded on "tracks" which, in the case of multiple heads, form a cylinder. The track is divided into sectors, each of which represents the minimum block of information that can be written to the disk. The standard sector size is 512 bytes.
As already mentioned, the very first hard drives had a constant number of sectors per track across the entire disk. However, this did not allow efficient use of the entire surface of the disk - each subsequent outer track is longer than the inner one, and accordingly, more information can fit on it. Therefore, modern hard drives are divided into “zones”, i.e. a collection of adjacent tracks with the same number of sectors per track.

  • That is why the linear reading graph of a hard drive (functional) looks like descending steps.
  • The hard drive controller controls the operation of the read/write heads. It translates the "interface" commands into electrical signals on the heads. There are different interfaces: “prehistoric” MFM and RLL, modern IDE (ATA) and SCSI, “future” SerialATA. Naturally, we are interested in IDE hard drives, so we will consider the ATA interface.
  • As has already been said, again, the use of CHS addressing has developed “historically”. Moreover, in the case of ATA:

two bytes (16 bits) are allocated for "C"

2^16x(2^8-1)x2^4 = 65536x255x16 = 267,386,880 sectors. There are 512 bytes in a sector, which means:

HDDmax(CHS) = 65536x255x16*512 = 136,902,082,560 byte = 136.9Gb (127.5GB)*

"kB" = 2^10 = 1024 byte
"MB" = 1024 kB = 1024*1024 byte = 1,048,576 byte
"GB" = 1024 MB = 1024*1024*1024 byte = 1,073,741,824 byte
"Mb" = 1,000,000 byte, 1MB = 1.05Mb
"Gb" = 1,000,000,000 byte, 1GB = 1.07Gb

All modern hard drives use LBA addressing.

In this case, each sector number is a 28-bit number and the maximum drive for the LBA would be: = 2^28*512 = 137 438 953 472 byte = HDDmax(LBA)

3. 137.4Gb (128GB)
According to the “hierarchy” described above, BIOS is located between the OS and the hard drive controller. Its function is to translate disk request commands from the OS into hard drive controller commands.

  • Most software uses CHS addressing.
  • Therefore, with the advent of “LBA hard drives”, in order not to rewrite the existing software, they acted as follows. If the BIOS detects an LBA hard drive, it converts its parameters to the CHS version and the OS “thinks” that it is working with a CHS hard drive. Those. The 28-bit LBA value is "decomposed" as follows - "cylindrical" 16 bits + "sector" 8 bits + "capitary" 4 bits (total 16+8+4=28).
  • Or specifically:
  • bits 0-7 - sector (+1 piece, because CHS addressing starts from the 1st, not the 0th sector)
bits 8-15 - cylinder, low byte

bits 16-23 - cylinder, high byte bits 24-27 - head

4. When receiving a request to work with a disk, the BIOS transfers this value back to LBA for the controller: LBA= [(cylinder * number of heads + head number) * number of sectors per track] + (sector number - 1) In the distant, DOS times, they did not suspect that one day the capacity of hard drives would be measured in tens and even hundreds of gigabytes. After all, the richest man in the world (and the most cursed by the computer fraternity in one bottle;) also somehow talked about the “infinity” of 640kB of RAM. As a result, for addressing C.H.S.

  1. in DOS (
  2. Int 13h
  3. ) the following “three-byte” system was chosen:

one byte - for the least significant bits of the cylinder value (0-7 bits)

one byte - for the two most significant bits of the cylinder value (8-9 bits) and six bits of the sector value one byte - for the value of the heads

In total, it turned out, “C” = 0-1023, “H” = 0-255, “S” = 1-63, respectively, the maximum hard drive with which DOS is capable of working will be:

HDDmax(DOS) = 2^24*512 = 8,589,934,592 = 8.59Gb (8GB)

5. Applications use a specific file system, which also has its limitations. For example, in the case of FAT16, the volume of the partition depends on the size of the cluster and the maximum can be 2^16 clusters. A cluster is a collection of sectors and its standard maximum value is 64 sectors ("non-standard" 128 and more are allowed only by Linux-based utilities), i.e. 32kB. Those. maximum partition for FAT16:

FAT16max = 2^16*32kB = 2,147,483,648 = 2.15Gb (2GB)

Now, knowing all these points, let's try to restore the chronology of the occurrence of problems with “large” disks.

134Mb, year 1990.

The oldest and probably little-known problem concerns the times of 100Mb (not Gb!) hard drives and more. FAT12 was used then, for which the maximum partition was:

FAT12max = 2^12*32kB = 134,217,728 = 134Mb (128MB)

Solution simple - switch to FAT16 (that's what it was created for).

528Mb, year 1993.

The very first, most famous and most serious problem affecting CHS.
The fact is that all the first biowriters did not expect that someday someone would try to put such “giant” screws into their brainchild. The problem was because Int13h and IDE had the following restrictions on the CHS value:

Int13h: C/H/S = 1024/256/63
IDE: C/H/S = 65536/16/255

Accordingly, the maximum option that satisfied both cases was 1024/16/63, which means the largest installed hard drive could be:

HDDmax(oldBIOS) = 1024x16x63*512 = 528 482 304 = 528Mb (504MB)

Solution the problem had three ways. First- this is formatting a “too large” hard drive using a 528Mb utility built into the BIOS. This method was quite “common” at one time (due to the inexperience of users;).
Second- use of special software - disk managers (such as OnTrack, EZ-Drive, etc.), replacing BIOS routines for working with disks with their own.
As a rule, such programs modified the MBR of the disk to operate. However, this did not allow the disk to work correctly when booted from another hard drive (or even a floppy disk), and there were also big problems with installing several OSes on such a disk. Well- bios update. However, flash memory for BIOS chips was not widespread at that time, and the Internet was not developed, so no one made or posted firmware. Therefore, due to the practical ineffectiveness of all these methods, the board should (was) simply be replaced with one that “supports LBA”.

2.11Gb, year 1996.

Many bio writers did not take into account previous experience and added only 2 bits per cylinder in the BIOS. The total was:

HDDmax(1996) = 2^12x16x63*512 = 2,113,929,216 = 2.11Gb (1.97GB)

Moreover, some versions detected only “part” of the hard drive (for example, 2.5Gb was defined as 425Mb), and some simply froze during autodetection of the hard drive due to incorrect head recalculation.

Solution- updating the BIOS (or using disk managers).

2.15Gb, year 1996.

The newly appeared Windows95 ("A", not OSR) used DOS FAT16 and therefore inherited all its problems - the above-described limitation of 2.15Gb per partition.

Solution- installation of Windows95B (OSR2), which allowed the use of FAT32. FAT32 has a maximum partition:

FAT32max = 2^32*32kB = 17,042,430,230,528 = 17042Gb (15872GB)

3.28Gb, ​​year 1996-1997.

In older versions of Phoenix BIOS (v. 4.03 and 4.04) there was an error with the detection of hard drives larger than 3.277Mb.

Solution- update to version 4.05 and later.

4.23Gb, year 1997.

Not everyone knows the limitation, it follows from the methods of solution "528Mb problems". So, to overcome the 528Mb BIOS barrier, they could use one of two methods: "LBA assist translation" And "Bit shift translation ("Large" Mode)".
Method "LBA broadcasts" if the system has an LBA hard drive for compatibility with old software ( In the distant, DOS times, they did not suspect that one day the capacity of hard drives would be measured in tens and even hundreds of gigabytes. After all, the richest man in the world (and the most cursed by the computer fraternity in one bottle;) also somehow talked about the “infinity” of 640kB of RAM. As a result, for addressing) calculated the CHS value using the following algorithm:

Total number of sectors on the disk, S_lba

"Recalculated" number of cylinders, C

Maximum capacity

1 - 1 032 192

1 032 192 - 2 064 384

2 064 384 - 4 128 768

4 128 768 - 8 257 536

S_lba / (63*128)

8 257 536 - 16 450 560

S_lba / (63*255)

However, before the advent of LBA hard drives, many non-LBA hard drives with a capacity greater than 528Mb appeared. To work with such hard drives, the following cylinder conversion was used:

Number of cylinders on the disk, c

Number of heads, h

Converted number of cylinders, C

Converted number of heads, H

Maximum capacity

1 - 1 024

1 024 - 2 048

2 048 - 4 096

4 096 - 8 192

8 192 - 16 384

16 384 - 32 768

32 768 - 65 536

As a result, BIOSes that use such translation for hard drives 4.23Gb (and larger) and having 16 heads “translated” their number to 256. However, old software (DOS, Windows95) “understood” only the values ​​0-255 and 256 heads were perceived as 0.

Solution- bios update.

7.93Gb, year 1997-1998.

In the same “some” BIOSes (as in the previous case), only more advanced ones, the problem described above was solved by equating the number of heads to 15. The result was not 256, but 240 tracks and a maximum disk:

HDDmax(Large-15) = 1024x240x63*512 = 7,927,234,560 = 7.93Gb (7.38GB)

Solution- bios update.

8.46Gb, year 1998.

The above limitation Int 13h. True, configurations with 256 heads have not been encountered, so the real limitation is:

HDDmax(Int13h/DOS) = 1024x255x63*512 = 8,422,686,720 = 8.42Gb (7.84GB)

Solution- bios update.

33.8Gb, year 1999, summer.

The most pressing problem. After fixing in BIOS "problems Int 13h", limiting disks to 8.4Gb, the addressing scheme became similar to the ATA interface:

  • C - two bytes (16 bits), maximum - 2^16 = 65536
  • H - one byte (4 bits), maximum - 2^4 = 16
  • S - one byte (8 bits), maximum - 2^8 = 255
  • or in LBA mode - 16+4+8=28 bits

Those. theoretically it was possible to work with the largest 137.4Gb disks. However, again the biowriters were wrong.

80416800 / (16*63) = 79778 They did not take into account that when recalculating the cylinders according to the old scheme, they simply “didn’t have enough” even 16bit for the cylinders. For example, a 41.2Gb disk with a configuration of 19710/16/255 received an LBA value of 80,416,800 sectors from the hard drive. and when recalculated using the “standard” algorithm with 16 heads and 63 sectors, it turned out:
79778 > 65536 (2^16) cylinder.

and therefore did not fit into 16 bits.

Accordingly, the 16-bit division algorithm used simply froze due to an overflow error. To solve the problem, it was necessary to replace all 16-bit division instructions with 32-bit ones and add a condition: if the LBA value of the number of disk sectors exceeds: ,

HDDmax(32GB)

= 65536x16x63 = 66,060,288 sectors = 33.8Gb (31.5GB) then the number of sectors is equal to 255. This was done in versions of Award BIOS in versions after June 1999. Let's dwell on

decision this problem in more detail, because it is still popular due to the large number of owners of “old” Socket7 boards (and the first Pentium2) who want to increase the capacity of their disk without a “global” upgrade of the entire computer.- update bios. However, for the vast majority of Socket7 boards (all except the “latest” - on VIA MVP3/MVP4, ALI V, SiS 530/540) manufacturers have not released new BIOS versions with support for “large” hard drives. Therefore, if you are the happy owner of some i430VX/TX or VIA VPX, do not worry about searching on the Internet for a “new” BIOS for your undetectable, freshly purchased hard drive.

After all, even the most recognized “biowriter” Asus has not posted new versions for its line of boards based on the i430TX chipset. As you saw, there was very little to fix, so the reason for the “forgetfulness” of all manufacturers to put out new versions for their old boards is the same - marketing, they say, buy our new boards, everything is there without problems.

1. What can you recommend if you have already bought such a “big” disk?
2. Some hard drives have jumpers for configuring a 33.8Gb hard drive. Get a completely functional system, but, unfortunately, with less volume.
3. Windows (98 and higher) uses its own routines to detect the hard drive, which have no problems working with hard drives larger than 33.8Gb. Therefore, if you want to use a “large” disk simply as a “second” one (i.e. you will boot not from it, but from another, smaller than 33.8Gb), then you can simply turn off auto-detection of the “large” hard drive in the BIOS (i.e. i.e. set to Disabled). Then the computer will not hang in the BIOS, and Windows itself will quite correctly detect the “invisible BIOS” disk when loading, and it will be possible to use its entire capacity completely correctly. However, firstly, you will not be able to use a “large” disk under DOS (its partitions will simply not be there), and secondly, it is likely that the speed of working with such an “invisible in BIOS” disk will be significantly lower. -for the “non-initialization” of its UDMA protocol (i.e. it can operate using the PIO4-10Mb/s protocol and even lower).
4. In some rare BIOSes, the “32GB problem” can be circumvented by setting the parameters of the “large” disk manually (as for old hard drives).

Well, and finally, the old, familiar (and so inconvenient) - disc managers. On my own behalf, however, I can add that on my website www.site you can find a “collection” of BIOS for many old boards with support for “large” hard drives, and if your BIOS is not in the collection, you can always use a special program BIOS Patcher

, which will add to your BIOS correct support for hard drives up to 120Gb.

Not all bio-writers approached the “32Gb problem” in good faith, and as a result, only one error was corrected, related to overflow in 16-bit division.

The fact is that to display the capacity of the hard drive on the screen, a 16-bit register was used, the volume was displayed in megabytes, so the maximum disk could be:

HDDmax(64GB) = 2^16 - 1 = 65535Mb = 65.5Gb (64GB) ,

In this case, the computer froze immediately after detecting the hard drive and there was no way to get around this (except by turning it off in BIOS Setup). Later, to correct this problem, the following condition was made: up to 64GB - display the capacity in megabytes, above - in gigabytes.

Solution- bios update.

137.4Gb, year 2002.

Modern drives have reached the limit of the ATA standard.

Solution To overcome it, it will be necessary to change the “interface” itself.



Which, for example, was proposed by the same Maxtor in its specification for UDMA133. - BIOS update, but for the vast majority, this is not a problem at all.