Browse Prior Art Database

Virtual Record Memory

IP.com Disclosure Number: IPCOM000110813D
Original Publication Date: 1994-Jan-01
Included in the Prior Art Database: 2005-Mar-26
Document File: 4 page(s) / 133K

Publishing Venue

IBM

Related People

Robinson, JT: AUTHOR

Abstract

Disclosed is a computer system architecture extension that provides virtual access to collections of fixed length records. This has numerous applications, some of which are sorting, editing, database management, providing efficient protected interfaces to shared databases, and so on.

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

Virtual Record Memory

      Disclosed is a computer system architecture extension that
provides virtual access to collections of fixed length records.  This
has numerous applications, some of which are sorting, editing,
database management, providing efficient protected interfaces to
shared databases, and so on.

      Consider virtual memory systems.  In general, there is a page
size P (which for hardware efficiency is chosen to be a power of 2),
for each virtual address space S there is a page table PT, and
finally each address A in S maps to the real address PT [(A DIV P)]
+ (A MOD P), where DIV is used for integer division and MOD is used
for the modulo or remainder function.  Because P is chosen as a power
of 2, MOD and DIV can be efficiently implemented in hardware by
extracting bit fields, and the addition can be implemented simply as
a concatenation of bits.

      The idea of the architecture extension disclosed here, which
will be referred to as virtual record memory, is as follows:  extend
the address mapping provided by virtual memory systems formulated as
above so that P is a record size, not necessarily a power of 2, in
order to efficiently access, process, and protect collections of
records.

      In more detail, assume that virtual record memory will be
implemented above virtual page-based memory, so that each virtual
address A generated by an application program may be translated once
or twice: (1) if A is not part of a record space (as defined below),
it is mapped to the real address PT [(A DIV P)]  + (A MOD P) as
usual; (2) if A is in a record space with record length R, base
address R0, and record table RT, it will first be mapped to the
virtual address

             A' = RT [((A-R0) DIV R)]  + ((A-R0) MOD R),
and then A' will be mapped to the real address PT [(A' DIV P)]  + (A'
MOD P).  It is also possible to develop designs in which virtual
record addresses are mapped directly to real addresses, but this
makes the system more complex, since the management of the record
tables and page tables has to be integrated.  Implementing virtual
record memory above virtual memory has the advantage that physical
memory has to be managed only at the virtual memory level, and
virtual record memory can be designed in a much more straightforward
way as an add-on or extension to existing processor architectures and
operating systems.  Another advantage of this two-level approach is
that application programs may be allowed to directly manipulate
record spaces without going through the operating system and without
compromising system security (i.e., the application is always
confined to the virtual address space).  Such direct manipulation may
be valuable for efficiency in some applications.

      A record space is defined as follows.  Abstractly, a record
space is a range of virtual addresses associated with an address
space.  Each address space may have zero or more such record spaces
associ...