WO1991008536A1 - Data record move apparatus for a virtual memory system - Google Patents

Data record move apparatus for a virtual memory system Download PDF

Info

Publication number
WO1991008536A1
WO1991008536A1 PCT/US1990/006494 US9006494W WO9108536A1 WO 1991008536 A1 WO1991008536 A1 WO 1991008536A1 US 9006494 W US9006494 W US 9006494W WO 9108536 A1 WO9108536 A1 WO 9108536A1
Authority
WO
Grant status
Application
Patent type
Prior art keywords
data record
location
pointer
memory location
associated
Prior art date
Application number
PCT/US1990/006494
Other languages
French (fr)
Inventor
John Frederick Kitchen
Original Assignee
Storage Technology Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F2003/0697Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers device management, e.g. handlers, drivers, I/O schedulers

Abstract

The data record move apparatus for a virtual memory system (120) instantaneously relocates a selected data record (Record 1) by simply generating a new pointer (200-3) to reference the same physical memory location (212) as the original reference pointer (200-1). In this fashion, by simply generating a new pointer (200-3) referencing the same physical memory space (212), this apparatus effectively moves the data record (Record 1). The data record (Record 1) can be moved later as a background process or can be moved when a modification is made to the data record (Record 1) by one of the programs on the processor (100).

Description

DATA RECORD MOVE APPARATUS FOR A VIRTUAL MEMORY SYSTEM

FIELD OF THE INVENTION

This apparatus relates to virtual memory systems and, in particular, to a data record move apparatus that instantly relocates an existing data record without having to read the data record from memory.

PROBLEM

It is a problem in the field of memory systems to expeditiously move data records stored therein. The typical data record move process entails the processor locating a data record then retrieving the data record from memory. Once the data record has been retrieved from memory, the integrity of the data record contents verified, the processor must then write this data record to a new memory location and again verify the integrity of the data record contents. Upon completion of this operation, the memory system now contains the original data record in an alternate location. It is obvious that such an operation consumes a significant amount of processor time. In the case where the memory system is a rotating media, such as a magnetic disk drive system, disk head positioning and data channel availability become constraints that can have a negative impact on the time it takes to retrieve the data record from memory. In disk drive memory systems for example, a processor is typically connected by a channel interface unit to a plurality of data channels. Each data channel is connected to one or more direct access storage device (DASD) units which function to store large quantities of data. Each DASD unit includes a control unit for interfacing with the data channel that typically carries eight bit parallel data in a byte serial decoded input/output record format. The control unit performs a data management function to maintain records of the physical memory location of all the data stored in the DASD unit. The DASD unit includes rotating data storage media consisting of a plurality of disks, each of which has associated therewith one or more moveable read/write heads. The data is stored on the rotating media in a track format that consists of a plurality of concentric rings of data. A control module is also included at the head of a string of disk drive units and connected to the control unit to convert between the eight bit parallel data format of the data channel and the bit serial data format of the rotating media.

In this disk drive memory system, a data record move process requires the processor to perform a data record read operation. In a data record read operation, the processor transmits a seek request, through the channel interface unit and an available data channel, to the DASD control unit associated with the rotating media on which the requested data record is stored. The processor returns to processing other tasks upon completion of the transmission of the seek request. The DASD control unit responds to the seek request by determining the physical location of the requested data record on the plurality of disks. The control unit transmits information to the associated control module identifying the physical location and size of the data record in order to retrieve the requested data record from one of the disks of the rotating media. Since the data record is stored in a track format on a rotating media, the actuator associated with the identified disk of the rotating media on which the requested data record is stored must wait until the rotating media rotates a sufficient distance to present the beginning of the requested data record underneath the read/write head associated with the actuator.

A predetermined time before the beginning of the requested data record reaches the read/write head associated with the actuator, the control module requests the control unit to obtain a data communication path to the processor in order to transmit the retrieved data record from the rotating media directly to the processor over this data communication path. If a data communication path to the processor is not available, the control module must wait for one entire revolution of the rotating media before the media is again in the position where the requested data record is a sufficient distance away from the read/write head to establish a data communication path to the processor. This process is repeated until a data communication path to the processor is available and the data, as read by the read/write head, can be transmitted directly via the control module and control unit and an available data channel to the processor. It is obvious that there can be numerous delays in this data storage system while data communication paths are established.

Once the data record is retrieved, the processor must write the data record to the new physical memory location. This is accomplished by the processor establishing a data communication path via an available data channel to the control unit associated with the physical memory location that is selected to receive the retrieved data record. The processor then transmits the retrieved data record to this control unit for storage on the rotating media.

This data record move operation is time consuming and requires a significant expenditure of processor resources. In systems that require a large number of data record move operations, a significant amount of processor time is consumed in this data record retrieval process.

SOLUTION

The above described problems are solved and a technical advance achieved in the field by the data record move apparatus for a virtual memory system of the present invention. The data record move apparatus instantaneously relocates a selected data record by simply generating a new set of pointers to reference the same physical memory location as the original set of reference pointers. In this fashion, by simply generating a new set of pointers referencing the same physical memory space, this apparatus effectively moved the data record.

This apparatus instantaneously moves the original data record without the time penalty of having to download the data record to the processor and write the data record to a new physical memory location. For the purpose of enabling a program to simply access the data record at a different memory address the use of this mechanism provides a significant time advantage. A physical copy of the original data record can later be written as a background process to a second memory location, if so desired. Alternatively, when a program writes data to or modifies the data record in any way, this modified copy of the original data record can be written to a new memory location and the corresponding address pointers changed to reflect the new location of this rewritten data record.

In this fashion, a data record can be instantaneously moved by simply creating a new set of memory pointers and the actual physical movement of the data record can take place either as a background process or as necessary when the data record is rewritten by one of the programs that accesses the data record. This provides a more efficient use of processor time and defers making an actual physical move of the data record until absolutely necessary.

BRIEF DESCRIPTION OF THE DRAWING

Figure 1 illustrates in block diagram form the architecture of the subject computer system;

Figure 2 illustrates in schematic form a typical virtual memory arrangement; and

Figure 3 illustrates in schematic diagram form the virtual memory arrangement of the present invention.

DETAILED DESCRIPTION

The data file move apparatus for a virtual memory system instantaneously relocates a selected data record by simply generating a new set of pointers to reference the same physical memory location as the original set of reference pointers. In this fashion, by simply generating a new set of pointers referencing the same physical memory space, this apparatus effectively moves the data record. This apparatus instantaneously moves the original data record without the time penalty of having to download the data record to the processor and write the data record to a new physical memory location. For the purpose of enabling a program to simply access the data record at a different memory address the use of this mechanism provides a significant time advantage. A physical copy of the original data record can later be written as a background process to a second memory location, if so desired. Alternatively, when one of the programs that can access the data record writes data to or modify the data record in any way, this modified copy of the original data record can be written to a new physical memory location and the corresponding address pointers changed to reflect the new location of this rewritten data record.

In this fashion, a data record can be instantaneously moved by simply creating a new set of memory pointers and the actual physical moving of the data record can take place either as a background process or as necessary when the data record is rewritten by one of the programs that accesses the data record. This provides a more efficient use of processor time and defers making an actual physical move of the data record until absolutely necessary.

System Architecture

Figure 1 illustrates the overall architecture of a data processing system that is equipped with an associated data storage system that includes a plurality of memory devices, one of which is illustrated in Figure 1 in the form of a conventional 3380-type of disk drive unit 120. Processor 100 is connected via bus 101 to a channel interface unit 102 that serves to interconnect processor 100 with a plurality of data channels 103-1 to 103-n, each of which is an eight bit parallel data bus. Connected to one of these data channels 103-1 is the disk drive unit 120 mentioned above. Disk drive unit 120 includes a control unit 104 that functions to provide overall management of the disk drive unit 120. This management function includes storing information that identifies the exact physical location of all data stored on the rotating media 111-0 to 111-15 of disk drive unit 120. Processor 100 identifies a data record by volume identification and address. While this information provides a general physical location of the data, the exact storage location on the rotating media 111-0 to 111-15 requires additional specificity. Control unit 104 provides this additional specific information by converting the volume and address information received from the processor into head, actuator, track and sector identification information to precisely define the physical location of the requested data record on disk drive unit 120. The control module 106 responds to the control signals transmitted by control unit 104 identifying the head, actuator, track and sector for storing a data record by selecting one of the actuators 110-0 to 110-15 that are used by disk drive unit 120 to read/write data on the rotating media 111- 0 to 111-15. The above-described conventional disk drive unit 120 of Figure 1 is also equipped with a plurality of read/write head buffers 108-0 to 108-15 on a one per read/write head basis. Read/write head buffer 108-0 serves to temporarily store the track image captured by the read/write head 110-0.

Memory Pointers

Control unit 104 stores a plurality of pointers, each of which identifies the exact physical location on the ones of rotating media 111-0 to 111-15 that contain an identified data record. For each data record stored in disk drive unit 120, there is a corresponding pointer stored in control unit 104 that identifies the physical memory location that contains this data record. This is illustrated schematically on Figure 2 wherein elements 200-0 to 200-n are pointers that are stored in control unit 104. Elements 211, 212 represents physical memory locations on rotating media 111-0 while 213, 214 and 215 represent physical memory locations on rotating media 111-1. Only two of the rotating media are shown for the purpose of illustration and memory space 211-215 on these rotating media are illustrated schematically. As can be seen from Figure 2, pointer 200-1 contains data that is indicative of the physical location of data record 1. This data points to physical memory location 212 on rotating media 111-0. Thus, when the processor 100 requests access to data record 1, control unit 104 scans the table of pointers to locate the entry corresponding to data record 1. This location is addressed by control unit 104 and the data contained therein read out to obtain the identification of the physical memory location that contains data record 1. In this case, the pointer entry indicates that data record 1 is located on rotating media 111-0 in the physical memory space designated on Figure 2 as 212. Similarly, pointer 200-4 contains the pointer entries for data record 2. The pointer stored in pointer location 200-4 indicates that data record 2 is stored on rotating media 111-1 in physical memory location 215.

Instant Move Operation

The data record move apparatus of the present invention can perform an "instant move" operation wherein the particular file is moved to a new memory location in a significantly less time than in prior systems. This apparatus takes advantage of the fact that the disk drive memory system 120 accessed by processor 100 is a virtual memory system in that the data record Record 1 resides at a physical memory location 212 that differs from its memory address 200- 1. In particular, the processor 100 addresses a data record according to a particular address, which address is translated by the disk drive memory system 120 into a actual physical memory location that does not correspond to the address used by processor 100. Control unit 104 maintains the information that indicates the correspondence between each particular pointer data record memory address (200-1) and the actual physical memory location (212) that contains the data record (Record 1) .

The data record move performance improvement is accomplished by processor 100 generating a new pointer 200-3, the contents of which point to the original memory location 212 of the original data record Record 1. Thus, upon the conclusion of this operation, the original physical memory location 212 contains the data record Record 1 while there is a new data record pointer 200-3 which points to that same physical memory location 212 that contains the data record Record 1. Since this is a virtual memory system, the new data record pointer 200-3 represents a new data record even though the original physical memory location 212 still contains the data record Record 1. Thus, instead of moving the physical data record Record 1 itself, a new data record pointer 200-3 is simply generated to point to the "new location" of the data record Record 1. This operation makes the data record Record 1 available to the software resident on processor 100 at a new memory location 200-3 without suffering the time penalty of having to actually read the data record Record 1 from the physical memory location 212 and then write the data record Record 1 to a new physical memory location. Processor 100 can, as a background process, move the physical data record Record 1 if so desired. Alternatively, a more efficient method of managing the data record relocation is to wait until one of the programs on processor 100 modifies the data record (now Record 5) . At this point, the modified data record Record 5 can be written to disk drive memory 120 to a new physical memory location (ex 213) and the corresponding pointer 200-3 adjusted to indicate this new physical memory location for the new data record Record 5. In this fashion, the physical data record Record 5 is moved only when changes are made to the original data record Record 1. While a specific embodiment of this invention has been disclosed, it is expected that those skilled in the art can and will design alternate embodiments of this invention that fall within the scope of the appended claims.

Claims

I CLAIM:
1. In a virtual memory system that contains one or more data records stored therein and a corresponding number of data record pointers, each of which identifies the physical memory location of the associated data record, a method of moving a data record to a designated location in response to a data record move request comprising the steps of: identifying the present physical memory location of the requested data record as specified by its associated data record pointer; and moving said associated data record pointer to a new location as the data record pointer for said designated location of said requested data record.
2. The method of claim 1 further including the step of: storing said associated data record pointer in a memory location that corresponds to said designated location of said data record.
3. The method of claim 2 further comprising the steps of: writing, in response to a modification of said data record, the modified version of said data record in said designated memory location; and generating a data record pointer associated with said modified version of said data record to identify said designated memory location.
4. In a virtual memory system that contains one or more data record stored therein and a corresponding number of data record pointers, each of which identifies the physical memory location of the associated data record, apparatus for moving a requested data record stored in said virtual memory system comprising: means responsive to a request to move a requested data record to a designated location for retrieving the data record pointer associated with said requested data record; and means for moving said data record pointer to said designated location as the data record pointer for said requested data record.
5. The apparatus of claim 4 further comprising: means for writing, in response to a modification of said data record, the modified version of said data record in said designated memory location; and means for generating a data record pointer associated with said modified version of said data record to identify said designated memory location.
6. In a virtual memory system that contains one or more data records stored therein and a corresponding number of data record pointers, each of which identifies the physical memory location of the associated data record, a method of moving a data record to a designated location in response to a data record move request comprising the steps of: identifying the present physical memory location of the requested data record as specified by its associated data record pointer; moving said associated data record pointer to a new location as the data record pointer for said designated location of said requested data record; storing said associated data record pointer in a memory location that corresponds to said designated location of said data record; writing, in response to a modification of said data record, the modified version of said data record in said designated memory location; and generating a data record pointer associated with said modified version of said data record to identify said designated memory location.
7. In a virtual memory system that contains one or more data records stored therein and a corresponding number of data record pointers, each of which identifies the physical memory location of the associated data record, apparatus for moving a requested data record stored in said virtual memory system comprising: means responsive to a request to move a requested data record to a designated location for retrieving the data record pointer associated with said requested data record; means for moving said data record pointer to said designated location as the data record pointer for said requested data record; means for writing, in response to a modification of said data record, the modified version of said data record in said designated memory location; and means for generating a data record pointer associated with said modified version of said data record to identify said designated memory location.
PCT/US1990/006494 1989-11-30 1990-11-02 Data record move apparatus for a virtual memory system WO1991008536A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US44389589 true 1989-11-30 1989-11-30
US443,895 1989-11-30

Publications (1)

Publication Number Publication Date
WO1991008536A1 true true WO1991008536A1 (en) 1991-06-13

Family

ID=23762615

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1990/006494 WO1991008536A1 (en) 1989-11-30 1990-11-02 Data record move apparatus for a virtual memory system

Country Status (1)

Country Link
WO (1) WO1991008536A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664144A (en) * 1990-09-24 1997-09-02 Emc Corporation System and method for FBA formatted disk mapping and variable-length CKD formatted data record retrieval
US6889288B2 (en) 2002-12-02 2005-05-03 Emc Corporation Reducing data copy operations for writing data from a network to storage of a cached data storage system by organizing cache blocks as linked lists of data fragments
US7475098B2 (en) 2002-03-19 2009-01-06 Network Appliance, Inc. System and method for managing a plurality of snapshots

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3317898A (en) * 1963-07-19 1967-05-02 Ibm Memory system
US4300192A (en) * 1974-04-18 1981-11-10 Honeywell Information Systems Inc. Method and means for storing and accessing information in a shared access multiprogrammed data processing system
US4577274A (en) * 1983-07-11 1986-03-18 At&T Bell Laboratories Demand paging scheme for a multi-ATB shared memory processing system
US4742450A (en) * 1986-01-16 1988-05-03 International Business Machines Corporation Method to share copy on write segment for mapped files
US4956771A (en) * 1988-05-24 1990-09-11 Prime Computer, Inc. Method for inter-processor data transfer

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3317898A (en) * 1963-07-19 1967-05-02 Ibm Memory system
US4300192A (en) * 1974-04-18 1981-11-10 Honeywell Information Systems Inc. Method and means for storing and accessing information in a shared access multiprogrammed data processing system
US4577274A (en) * 1983-07-11 1986-03-18 At&T Bell Laboratories Demand paging scheme for a multi-ATB shared memory processing system
US4742450A (en) * 1986-01-16 1988-05-03 International Business Machines Corporation Method to share copy on write segment for mapped files
US4956771A (en) * 1988-05-24 1990-09-11 Prime Computer, Inc. Method for inter-processor data transfer

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664144A (en) * 1990-09-24 1997-09-02 Emc Corporation System and method for FBA formatted disk mapping and variable-length CKD formatted data record retrieval
US5909692A (en) * 1990-09-24 1999-06-01 Emc Corporation System and method for disk mapping and data retrieval
US6185653B1 (en) 1990-09-24 2001-02-06 Emc Corporation System and method for disk mapping and data retrieval
US6418509B1 (en) 1990-09-24 2002-07-09 Emc Corporation System and method for disk mapping and data retrieval
US6587919B2 (en) 1990-09-24 2003-07-01 Emc Corporation System and method for disk mapping and data retrieval
US7475098B2 (en) 2002-03-19 2009-01-06 Network Appliance, Inc. System and method for managing a plurality of snapshots
US9043271B2 (en) 2002-03-19 2015-05-26 Netapp, Inc. System and method for managing a plurality of snapshots
US6889288B2 (en) 2002-12-02 2005-05-03 Emc Corporation Reducing data copy operations for writing data from a network to storage of a cached data storage system by organizing cache blocks as linked lists of data fragments

Similar Documents

Publication Publication Date Title
US6529976B1 (en) Heterogeneous computer system, heterogeneous input output system and data back-up method for the systems
US6038639A (en) Data file storage management system for snapshot copy operations
US6360232B1 (en) Disaster recovery method for a removable media library
US5121483A (en) Virtual drives in an automated storage library
US5854941A (en) System for estimating access time by deriving from first and second rotational time from rotational time table based on logical address and head movement time
Smith Disk cache—miss ratio analysis and design considerations
US6748486B2 (en) Method, system, and data structures for superimposing data records in a first data format to memory in a second data format
US6625704B2 (en) Data backup method and system using snapshot and virtual tape
US6658592B1 (en) Error detection in disk storage systems
US5394534A (en) Data compression/decompression and storage of compressed and uncompressed data on a same removable data storage medium
US4429363A (en) Method and apparatus for managing data movements from a backing store to a caching buffer store
US4593354A (en) Disk cache system
US4574346A (en) Method and apparatus for peripheral data handling hierarchies
US6327644B1 (en) Method and system for managing data in cache
US5239659A (en) Phantom duplex copy group apparatus for a disk drive array data storge subsystem
US4638425A (en) Peripheral data storage having access controls with error recovery
US6269431B1 (en) Virtual storage and block level direct access of secondary storage for recovery of backup data
US6353878B1 (en) Remote control of backup media in a secondary storage subsystem through access to a primary storage subsystem
US5388013A (en) Data storage format conversion method and system, data access method and access control apparatus
US5386524A (en) System for accessing information in a data processing system
US5996046A (en) Parity generation system for generating new parity using old data in temporary storage without accessing main disk storage of disk drive
US4571674A (en) Peripheral storage system having multiple data transfer rates
US4500954A (en) Cache bypass system with post-block transfer directory examinations for updating cache and/or maintaining bypass
US5636359A (en) Performance enhancement system and method for a hierarchical data cache using a RAID parity scheme
US5535372A (en) Method and apparatus for efficient updating of CKD data stored on fixed block architecture devices

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IT LU NL SE

NENP Non-entry into the national phase in:

Ref country code: CA