• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

WHY the h*** HDD Cache is called CACHE AND NOT BUFFER???!!!

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

Vovan

Member
Joined
Jan 4, 2001
Location
Germany
I have once found a definition of the cache in the german book for the IT Specialists. The defined cache as a Buffer, that made me really angry, because they ARE different things! :bang head
Man-o, Why HDDs memory is called cache??? It acts like a buffer ! Are all hdd manufactures DUMB??? :mad:
 
OP
Vovan

Vovan

Member
Joined
Jan 4, 2001
Location
Germany
Definitions:
Device0----Microchip----Device1

Cache:
Microchip looks for the traffic between Device 0 and Device1, and when the same data (tracking marks: same data,or same address, or same flags...) that was already transfered between the devices is requested by device 0- it will be send from the chip and NOT from the device 1 directly.

Buffer: (I mean NON duplex, NON Pingpong buffers)
Device 0 send data through microchip.
Microchip takes data and says OK for the portion to device 0.
Microchip transfers data to Device 1.

I THINK THAT THINGS ARE DIFFERENT??? OR..?
 
Last edited:

Penguin4x4

Are you my Daddy?
Joined
May 28, 2002
Location
Sector 7G
Cache - a special high-speed storage mechanism. It can be either a reserved section of main memory or an independent high-speed storage device. Two types of caching are commonly used in personal computers: memory caching and disk caching. A memory cache, sometimes called a cache store or RAM cache, is a portion of memory made of high-speed static RAM (SRAM) instead of the slower and cheaper dynamic RAM (DRAM) used for main memory. Memory caching is effective because most programs access the same data or instructions over and over. By keeping as much of this information as possible in SRAM, the computer avoids accessing the slower DRAM. Some memory caches are built into the architecture of microprocessors. The Intel 80486 microprocessor, for example, contains an 8K memory cache, and the Pentium has a 16K cache. Such internal caches are often called Level 1 (L1) caches. Most modern PCs also come with external cache memory, called Level 2 (L2) caches. These caches sit between the CPU and the DRAM. Like L1 caches, L2 caches are composed of SRAM but they are much larger. Disk caching works under the same principle as memory caching, but instead of using high-speed SRAM, a disk cache uses conventional main memory. The most recently accessed data from the disk (as well as adjacent sectors) is stored in a memory buffer. When a program needs to access data from the disk, it first checks the disk cache to see if the data is there. Disk caching can dramatically improve the performance of applications, because accessing a byte of data in RAM can be thousands of times faster than accessing a byte on a hard disk. When data is found in the cache, it is called a cache hit, and the effectiveness of a cache is judged by its hit rate. Many cache systems use a technique known as smart caching, in which the system can recognize certain types of frequently used data. The strategies for determining which information should be kept in the cache constitute some of the more interesting problems in computer science.

Buffer - A temporary storage area, usually in RAM. The purpose of most buffers is to act as a holding area, enabling the CPU to manipulate data before transferring it to a device. Because the processes of reading and writing data to a disk are relatively slow, many programs keep track of data changes in a buffer and then copy the buffer to a disk. For example, word processors employ a buffer to keep track of changes to files. Then when you save the file, the word processor updates the disk file with the contents of the buffer. This is much more efficient than accessing the file on the disk each time you make a change to the file. Note that because your changes are initially stored in a buffer, not on the disk, all of them will be lost if the computer fails during an editing session. For this reason, it is a good idea to save your file periodically. Most word processors automatically save files at regular intervals. Another common use of buffers is for printing documents. When you enter a PRINT command, the operating system copies your document to a print buffer (a free area in memory or on a disk) from which the printer can draw characters at its own pace. This frees the computer to perform other tasks while the printer is running in the background. Print buffering is called spooling. Most keyboard drivers also contain a buffer so that you can edit typing mistakes before sending your command to a program. Many operating systems, including DOS, also use a disk buffer to temporarily hold data that they have read from a disk. The disk buffer is really a cache.


There the same, :)
 
OP
Vovan

Vovan

Member
Joined
Jan 4, 2001
Location
Germany
No, with all my respect to U, Penguin4X4, they aren´t.
Thanks for technical details, but what I was talkin about was an abstracted form of definitions...

Also , I have found out that when other devices are reading the same sector of the disk, Disk ?cache? gives a portion of data, if the sector was requested before. By writing, however, it acts like a buffer..... :eek:

So, I would personally call it a `buffer with tracking possibilities`.
 

Kiriakos

Member
Joined
Jun 5, 2002
Location
Greece
I will try to give another example of the word buffer ..

I own a digital camera that haves 16 megs of Buffer memory .

I can take 16 pictures at burst mode, and when the buffer gets full , it writes the pictures in the card of my camera ..


The cache has another use specially in the hard drives.
The hard drives have big problem with the very small in size files , the small in size files slow down allot the data transfer ability of the drive , the cache helps the drive to read ahead specially for small files in order to have more stable in MB/s data transfers .

This is what happen in praxis , in theory you can call it with any name that you like :D even zoozoo as my dog . :)
 
OP
Vovan

Vovan

Member
Joined
Jan 4, 2001
Location
Germany
Kiriakos said:
The cache has another use specially in the hard drives.
The hard drives have big problem with the very small in size files , the small in size files slow down allot the data transfer ability of the drive , the cache helps the drive to read ahead specially for small files in order to have more stable in MB/s data transfers .

Ok, now it is "buffer with look-ahead and tracking possibilities".
Hmm, i´ve found something else: UDMAs with bus-mastering support gather-read and scatter-write....that can lead to unordered writing(commands such as:write sector 1,2,3,1002,4). Data reordering is required here, i think. If it is supported by the cache or Hdd controller logic??? :eh?:
 

Kiriakos

Member
Joined
Jun 5, 2002
Location
Greece
The cache or buffer in simple words its memory and there is there to do some job ,by cooperating with other parts ..
Cache uses very fast memory for a good reason , and the Buffer uses lower quality memory than the cache .
The memory by it self it does not do anything .

I do have hard times to understand what is the mystery that you can not understand .
 

mbentley

Gloriously Lead, Overclockix Chief Architect
Joined
Sep 26, 2002
Location
Indianapolis, IN
i visited my good old friend http://www.dictionary.com and came up with the following:

cache:
http://dictionary.reference.com/search?q=cache

buffer:
http://dictionary.reference.com/search?q=buffer

hehe sorry, i am in a good mood and felt like being a smart *** :D

and the reason for my good mood is, 1.) it's friday and i start thanksgiving break on tuesday after 1 classes on monday and tuesday each, 2.) i passes my MATLAB exam, 3.) i am done with my MATLAB course

now that makes me happy. who knows, there might actually be something useful at the dictionary.com too
 
OP
Vovan

Vovan

Member
Joined
Jan 4, 2001
Location
Germany
Cool link, thanks!

2 Kiriakos: I` m going to write a driver for the IDE controller.