Browse Prior Art Database

Extendable Random Access Memory File System

IP.com Disclosure Number: IPCOM000115493D
Original Publication Date: 1995-May-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 4 page(s) / 161K

Publishing Venue

IBM

Related People

Bo, W: AUTHOR [+2]

Abstract

During the AIX* boot process, a Random Access Memory (RAM) disk file system is used as a temporary root file system so that the devices such as SCSI adapters and hard disks, which are needed to enable the actual root file system, can be configured. The size of the RAM disk file system is fixed and is set to the size required by the boot process to boot from low-end machine configurations, with small system memory (around 8 MegaBytes). Since the upper-bound of the size is fixed for low-end machines, the boot process cannot take advantage of the large amount of memory the system may have in high-end machines. In addition, there is a chance that the RAM disk may overflow on a machine which has too many devices to dynamically configure in the RAM disk.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 35% of the total text.

Extendable Random Access Memory File System

      During the AIX* boot process, a Random Access Memory (RAM)
disk file system is used as a temporary root file system so that the
devices such as SCSI adapters and hard disks, which are needed to
enable the actual root file system, can be configured.  The size of
the RAM disk file system is fixed and is set to the size required by
the boot process to boot from low-end machine configurations, with
small system memory (around 8 MegaBytes).  Since the upper-bound of
the size is fixed for low-end machines, the boot process cannot take
advantage of the large amount of memory the system may have in
high-end machines.  In addition, there is a chance that the RAM disk
may overflow on a machine which has too many devices to dynamically
configure in the RAM disk.

      A RAM disk file system that can be extended will allow a much
more flexible boot process where the systems with more memory and
more devices can be configured without being limited by the upper
bound of the RAM disk size.  This results in better utilization of
the memory resources during boot and removes the limitation imposed
by a fixed size RAM disk.

Prior Art: Extending a file system basically consists of two steps:
first, if there is not enough space on the underlying partition for
the amount of file system space to be extended, the size of the
partition must be increased; secondly, the file system which resides
on the media can then be extended by allocating additional file
system meta data such as new inode maps, directory blocks, etc.  This
approach is used by the Journal File System (JFS) of AIX in extending
the file systems on hard disks.

      However, extending the RAM file system is different from
extending a hard disk JFS file system in two aspects: (i) while the
disk partition of the file system can be easily extended by using the
services of the logical volume manager (LVM), the  RAM file system
cannot and does not use LVM; and (ii) there are cases when the RAM
disk has been compressed at the block level to conserve memory, thus
making extending the RAM disk more complicated.

Description of the Disclosure: This disclosure describes how the RAM
disk file system can be extended.  It follows the two step procedure
described above to extend the file system.

Step I. Extending the RAM disk:

      In AIX, the RAM disk file system  can be in compressed or
uncompressed mode.  Thus,  in  extending  the RAM  disk, these two
cases need to be considered: (i) extending the RAM disk that is not
compressed and (ii) extending the RAM disk that is compressed at the
block level.

Case I. The RAM disk is not compressed.

      The RAM disk is created by allocating a segment for it and
placing the RAM disk (or RAM file system) image in that segment.  The
amount of RAM disk space is noted in a kernel global variable.

Extending the RAM disk in this case is to allocate additional pages
or blocks in this segment. ...