A dynamic block transfer size adjustment mechanism independently defines
block transfer size for each memory portion, which may include files in a
file system, virtual storage segments in a memory system, or extents in
physical storage. By specifying block transfer size for a memory portion
independently from other memory portions, the performance of the computer
system may be enhanced. In addition, the block transfer size of one or
more memory portions may be dynamically adjusted according to how the
memory portion is used. In an alternative embodiment, the block transfer
size may also be specified for each process that accesses a portion of
memory. Thus, a single file may be accessed with a first block transfer
size by a first process, and may be accessed with a second (different)
block transfer size by a second process. By providing the ability to
independently set block transfer size for portions of memory, and to
dynamically adjust those values according to the historical use of the
portion of memory, the performance of a computer system is enhanced.