throbber
AACAA
`[11] Patent Number:
`5,594,909
`United States Patent 1
`[45] Date of Patent:
`Jan. 14, 1997
`Inoue
`
`
`
`[54] FILE /O CONTROL DEVICE WRITING 5,276,840—WAL994 YU woceescccssesssssessessrsesassesseoennee 395/425
`
`BLOCKS TO FASTER DEVICE FIRST AND
`CANCELING EXCLUSIVE LOCK AS EACH ea
`BLOCKIS WRITTEN
`C. J. Date, “‘An Introduction to Database Systems”, vol. ,
`.
`.
`1984 pp. 83-103.
`Inventor: Hiroyumi Inoue, Tokyo, Japan
`Halici et al. “Concurrency Control in Distributed Databases
`[75]
`5
`‘
`through Time Intervals and Short-Term Locks”, IEEE,
`[73] Assignee: NEC Corporation, Tokyo, Japan
`1989.v. 15, pp. 994-1003.
`[21] Appl. No.: 910,847
`Primary Examiner—Thomas O. Lee
`io
`Assistant Examiner—D. Dinh
`[22]
`Filed:
`Jul. 6, 1992
`Attorney, Agent, or Firm—Foley & Lardner
`[30]
`Foreign Application Priority Data
`[57]
`ABSTRACT
`.
`Jul. 55,1991
`[JP]
`Japan wc eseeseseeeeeeenaeeees 3-190864
`.
`P
`A file input/output control device for a computer system of
`Tint. Ce ieccccesecsscesneee GO06F 13/00; GO6F 13/38
`the present invention can, even in an environment where
`[51]
`[52] U.S. Ch. eccesccseesesseesseereee 395/872; 395/856; 395/726
`magnetic storage and semiconductor storage devices with
`(58] Field of Search ..0........ccccssseeeenen 395/425, 600,
`quite different access speeds are concurrently used as the
`395/650, 872, 726, 856
`external storage, cancel exclusive control for film blocks
`without deteriorating the performance of higher speed stor-
`age. For this purpose, this device is provided with block
`write means to write the blocks in the buffer to the external
`storage block by block when a quiet point of the processing
`program is established and exclusion cancellation means to,
`each time the block write means terminates writing for a
`block, cancel exclusive control for that block.
`
`[56]
`:
`
`References Cited
`UME
`NTS
`TS. PAPENH DiC
`8/1972 Martin .....esecssesccssssnseessseresernees 395/650
`3,683,418
`11/1982 Branigin et al.
`...
`.. 395/275
`4,358,829
`7/1991 Styma etal.
`......
`395/275
`5,034,915
`5,060,144 10/1991 Sipple et al.
`...
`395/650
`5,220,653
`6/1993 Miro...........
`- 395/826
`5,251,318
`10/1993 Nitta et al. oceeeneeseeeeee 395/725
`
`
`
`TEMPORARY
`STORAGE
`
`
`
`
`
`RESTORATION
`MEANS
`
`
`
` WRITE
`
`B
`REQUEST
`
`MEANS
` HE 26
`
`|BUFFER
`
`
`
`
` EXCLUSIVE
`CONTROL
`MEANS
`
`
`
`11 EXTERNAL STORAGE
`EXCLUSION
`
`
`EXCLUSION
`CANCELLATION
`MEANS
`MEANS
`
`
`
`Google Exhibit 1042
`Google Exhibit 1042
`Google v. Valtrus
`Google v. Valtrus
`
`:
`8 Claims, 9 Drawing Sheets
`
`15
`
`NONVOLATILE
`
`
`TEMPORARY
`STORAGE ERASE
`MEANS
`
`
`
`
`STORAGE
`
`
`

`

`U.S. Patent
`
`Jan. 14, 1997
`
`Sheet 1 of 9
`
`5,594,909
`
`22
`
`15
`
`TEMPORARY
`STORAGE ERASE
`MEANS
`
`19
`
`BUFFER
`
`
`NONVOLATILE
`STORAGE
`
`
`
`TEMPORARY
`
`STORAGE
`=I
`24
`
`Sane SAVE|]RESTORATION
`
`MEANS
`25
`WRITE
`Ls|
`
`
`
`REQUEST 7
`jeMEANS
`
`BUF|BUFFER REQUEST
`
`MEANS
`
`18
`
`PA
`
`EXCLUSIVE
`CONTROL
`MEANS
`
`
`
`26
`
`17
`
`23
`
`EXCLUSION
`
`eae CANCELLATION
`MEAN
`MEANS
`
`11 EXTERNAL STORAGE
`
`

`

`U.S. Patent
`
`Jan. 14, 1997
`
`Sheet 2 of 9
`
`5,594,909
`
`—FIG.2
`
`
`
`

`

`U.S. Patent
`
`Jan. 14, 1997
`
`Sheet 3 of 9
`
`5,594,909
`
`FIG.3
`
`_ READ REQUEST MEANS
`
`CHECK BUFFER
`FOR REQUESTED BLOCK
`
`x BLOCK EXISTS ?
`
`NO
`
`CHECK TEMPORARY
`STORAGE AREA
`
`FOR REQUESTED BLOCK
`
`
`
`
`
`
`301
`
`302
`
`303
`
`304
`
`305
`
`BUFFER RESTORATION
`MEANS ACTIVATED
`
`VES
`
`
`
`
`
`“BLOCK EXISTS ?
`
`BLOCK READ MEANS
`ACTIVATED
`
`

`

`U.S. Patent
`
`Jan. 14, 1997
`
`Sheet 4 of 9
`
`5,594,909
`
`FIG.4
`
`
`
`START
`
`ACTIVATION OF WRITE
`- REQUEST MEANS
`
`
`401
`
`
`ACTIVATION OF EXCLUSIVE
`CONTROL MEANS
`
`402
`
`FIG.5
`
`WRITE REQUEST MEANS
`
`
`
`ACTIVATION OF BUFFER
`SAVE MEANS
`
`
`
`|||
`ss
`ACTIVATION OF BLOCK
`WRITE MEANS
`
`501
`
`502
`
`
`
`
`
`
`
`
`
`
`
`FOR EACH
`BLOCK
`
`

`

`U.S. Patent
`
`Jan. 14, 1997
`
`Sheet 5 of 9
`
`5,594,909
`
`FIG.6
`
`EXCLUSIVE
`CONTROL MEANS
`
`WAITING 9?
`
`601
`
`602
`
`
`
`
`
`
`ACTIVATION OF TEMPORARY
`STORAGE ERASE MEANS
`
`ACTIVATION OF EXCLUSION
`CANCELLATION MEANS
`
`FIG.7
`
`ACTIVATION OF TEMPORARY
`STORAGE ERASE MEANS
`
`
`
`
`REACTIVATION
`OF APPLICATION
`
`701
`
`702
`
`

`

`U.S. Patent
`
`Jan. 14, 1997
`
`Sheet 6 of 9
`
`5,594,909
`
`FIG.8
`
`
`
`ACTIVATION OF BUFFER |7801
`
`RESTORATION MEANS
`
`
`
`
`
`
`ACTIVATION OF BLOCK
`WRITE MEANS
`
`ACTIVATION OF TEMPORARY
`STORAGE ERASE MEANS
`
`802
`
`803
`
`

`

`U.S. Patent
`
`Jan. 14, 1997
`
`Sheet 7 of 9
`
`5,594,909
`
`FIG.9
`
`STRAGE AREA
`
`SEMICONDUCTOR
`STORAGE?
`
`YES
`
`WRITING OF APPLICABLE
`BLOCK TO FILE
`
` REFER TO BLOCK DATA
`
`
`
`
`
`
`END OF SUCH BLOCKS
`
`YES
`
`REFER TO BLOCK DATA
`STORAGE AREA
`
`MAGNETIC STORAGE
`
`

`

`U.S. Patent
`
`Jan. 14, 1997
`
`Sheet 8 of 9
`
`5,594,909
`
`FIG.10
`
`1001
`
`REFER TO
`BLOCK DATA
`
`ARRANGEMENT
`OF BLOCKS
`IN THE ORDER
`
`1002
`
`1003
`
`STORAGE AREA
`OF POSITIONS
`
`
`
`
` BLOCK WRITING
`WITH STARTING
`FROM POSITION
`
`
`FOR FASTEST
`
`ACCESS
`
`END OF BLOCKS
`
`4004
`
`1005
`
`

`

`U.S. Patent
`
`Jan. 14, 1997
`
`Sheet 9 of 9
`
`5,594,909
`
`
`
`BLOCK]|BLOCK/ BLOCK} BLOCK} BLOCK! BLOCK
`
`
`
`
`
`
`
`130
`
`
`1130
`DATA RECORD
`
`DATA RECORD/%!°
`
`DATA RECORD
`
`120
`
`

`

`5,594,909
`
`1
`FILE /O CONTROL DEVICE WRITING
`BLOCKSTO FASTER DEVICE FIRST AND
`CANCELING EXCLUSIVE LOCK AS EACH
`BLOCKIS WRITTEN
`
`BACKGROUNDS OF THE INVENTION
`
`1. Field of the Invention
`
`This invention relates to a computer system provided with
`an external storage commonly used by a plurality of pro-
`grams(application programs), and particularly relates to a
`file input/output control device for a computer system
`capable of reducing the time required for canceling exclu-
`sive control of file blocks.
`
`2. Description of the Prior Art
`Whena plurality of application programs using a common
`file on an external storage are run concurrently, exclusive
`control is applied to avoid confusionin file contents. A file
`on an external storage is typically divided into a plurality of
`blocks, each of which contains a plurality of data records,
`and each block serves as a unit for input to or output from
`a buffer and a unit for exclusive control.
`The exclusive control has various peculiar drawbacks.
`Now aconventional exclusive control methodforfile blocks
`is described.
`
`15
`
`20
`
`25
`
`2
`storage, and if there are both magnetic and semiconductor
`storage blocks,
`the semiconductor storage block is kept
`under exclusion modestill after completion of writing in
`shorter time with waiting for completion at the magnetic
`storage. This impairs improvement of efficiency. In other
`words, even if a semiconductor storage is introduced, it
`cannot contribute to a higher efficiency with utilization of
`the file on the semiconductor storage concurrently by a
`plurality of programs since the time while the blocks are
`under exclusive control cannot be reduced. This invention
`mainly addresses cancellation of exclusive control for a
`block when a quiet point is established.
`The conventional system has an advantage in that once a
`quiet point is established upon the occurrence of a demand
`for establishment, a demandfor rollback will never occur in
`the writing process to the buffer and releasing of exclusive
`control. Accordingly, when the exclusive control is released
`at any time after writing in the buffer, atomicity will not be
`lost. However, in practice, it is possible to cause failure of
`the external storage device or hang-up of the electronic
`computer during writing to the buffer. It thus becomes
`necessary to provide servers which can guarantee atomicity.
`This nature is referred to as “durability.” In order to assure
`durability, when failure is caused during the process of
`establishing the quiet point,
`the system automatically
`executes a rollback.
`;
`
`The processing of quiet point establishment at an end of
`the application programafter a plurality of blocks inafile on
`In the prior art, since the exclusive control is maintained
`an external storage are transferred to a buffer for update or
`during writing in the buffer, rollback can be executed even
`other processing is conventionally performed as described
`whena failure occurs. Even whenafailure occurs during the
`below. Note here that the blocks transferred to the buffer and
`releaseof the exclusive control after completion ofthe buffer
`subjected to update or other processing have been already
`writing process, since writing in the buffer has already been
`placed under exclusive control.
`completed, atomicity can be guaranteed.
`An exclusive control means first activates a block write
`Another method for assuring atomicity upon occurrence
`means by specifying all the blocks updated by the applica-
`of failure during buffer writing is to write in the buffer for
`tion program. The block write means writes a plurality of
`which writing is held incomplete after recovery of the
`blocks in the buffer one by oneto thefile.
`failure. To do this, it becomes necessary to store the content
`of the buffer in a non-volatile memory. In general, a non-
`Upon completion of writing of all the blocks updated by
`volatile memory is expensive or low-speed, such as an
`the application program, the exclusive control means acti-
`vates the exclusion cancellation means.
`external storage device, and has poor applicability in prac-
`tical use.
`The exclusion cancellation means then cancels exclusive
`control for all the blocks used in that application at a time.
`This conventional example is characterized by the bulk
`cancellation of exclusive control for all the blocks used in
`one application program, which results in an advantage of
`high efficiency and high speed processing.
`As described above, a conventional exclusion canceila-
`tion method for file blocks is advantageous in that the bulk
`cancellation of exclusive control enables high speed pro-
`cessing. However, with processing speed of computers
`becoming higher, this advantage does not appear so attrac-
`tive now. On the contrary, drawbacks as shown below are
`pointed out.
`With the recent progress in semiconductor technology,
`external storages using semiconductors (semiconductor stor-
`ages) have been put into practice and used in the same way
`as the conventional magnetic storage. Magnetic storages and
`semiconductorstoragesare both used as the external storage.
`In manycases, a single application uses file blocks on both
`devices.
`
`35
`
`45
`
`55
`
`60
`
`Since a semiconductor storage does not have any
`mechanical drive, it is capable of much faster access com-
`pared with a magnetic storage. However, in a conventional
`exclusion cancellation method for file blocks, exclusive
`control is canceled at a time after writing all the blocks
`updatedby the application program to thefile on the external
`
`65
`
`However, owing to recent developmentofthe electronic
`computer and lowering of cost for high speed non-volatile
`storage devices, such as an external storage device employ-
`ing a semiconductor memory, it has become possible to
`guarantee atomicity by the foregoing method.
`
`SUMMARY OF THE INVENTION
`
`An object of the present invention is to provide a file
`input/output control device for a computer system whichis,
`even in an environment where storages with different access
`speeds such as magnetic and semiconductor storages are
`concurrently used as the external storage, capable of can-
`celing exclusive controlforfile blocks without deteriorating
`the performance of higher speed storages.
`According to a preferred embodiment of the present
`invention to attain the object, a file input/output control
`device for a computer system comprises an external storage
`to store a file commonly accessed from a plurality of
`processing programs, rcad means to read a file in the
`external storage block by block, buffer means to store the
`blocks read by the read means, exclusion meansto place the
`blocks in the buffer means under exclusive control block by
`block, block write means to write each of the blocksin the
`buffer meansto the external storage when a quiet pointof the
`processing program is established, and exclusion cancella-
`
`

`

`5,594,909
`
`10
`
`15
`
`20
`
`3
`tion means to, each time the block write means terminates
`writing for a block, cancel exclusive control for that block.
`According to a further preferred embodiment, the external
`storage comprises a plurality of storages with different
`processing speeds and there are further block data storage
`means to store data to indicate the source storage of the
`block read from the file in the storage means and write
`request means which refers to the block data storage means
`and instructs the block write means to write the blocks
`starting from the blocks whose sourcestorage is the storage
`means with the faster processing speed.
`Another object of the present invention is to provide a file ©
`input/output control device for a computer system which
`enables effective restoration without wasting the processing
`results so far as far as possible even in case where the system
`goes down due to any system failure.
`A file input/output control device for a computer system
`of the present invention to attain this object comprises
`temporary storage means to temporarily store the updated
`blocks in the buffer means, save means to save the appli-
`cable blocks to the temporary storage meansat the time of
`writing of the blocks stored in the buffer means to the
`external storage, and restoration meansto restore in case of
`failure by rewriting the blocks in the temporary storage
`means to the buffer means.
`
`25
`
`According to another preferred embodiment, the tempo-
`rary storage means comprises a nonvolatile storage medium.
`According to still another preferred embodiment, a file
`input/output control device for a computer system further
`comprises erase meansto erase the blocks in the temporary
`storage means upon completion of rewriting of the blocks in
`the temporary storage means to the buffer means.
`Other objects, characteristics and effects of the present
`invention will be clarified by the detailed description below.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a diagram to show the configuration of an
`embodimentof a file input/output control device where the
`exclusive control method of the present invention is applied;
`FIG. 2 is a block diagram to show the configuration of a
`external storage;
`FIG. 3 is a flowchart to illustrate the reading processing
`by read request means;
`FIG.4 is a flowchart to show the processing when a quiet
`point is established in the embodiment shownin FIG. 1;
`FIG. 5 is a flowchart to show the processing by the write
`request means;
`FIG. 6 is a flowchart to show the processing by the
`exclusive control means;
`FIG. 7 is a flowchart to illustrate the restoration process-
`ing after system down;
`FIG.8 is a flowchart to illustrate the restoration proccss-
`ing after system down;
`FIG.9 is a flowchart to control the order of block writing
`corresponding to the access speed of the applicable external
`storage;
`FIG. 10 is a flowchart to illustrate the control of the order
`for block writing corresponding to the write position in the
`same external storage,
`FIG.11 is a diagram to show an example of configuration
`for a file in the external storage,
`DESCRIPTION OF THE PREFERRED
`EMBODIMENT
`
`Referring to FIGS. 1 to 11, a preferred embodimentof the
`present invention will be described below, FIG. 1 showsthe
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`configuration of a file input/output control device to which
`the exclusive contro! method according to an embodiment of
`the present invention is applied. This embodiment is also
`capable of block contents restoration in case of system
`failure.
`
`In FIG. 1, the file input/output control device comprises,
`as its part to store and keep data, an external storage 11
`storing a file 12 used by a plurality of application programs
`(processing programs), a storage 13 where a buffer 14 for
`actual block update or other processing is assigned, a
`nonvolatile storage 15 where a temporary storage area 16 is
`assigned for backing up in case of failure, a block data
`storage area 30 to store data for each block. The external
`storage 11 is provided, as shown in FIG. 2, with a magnetic
`storage 11a and a semiconductorstorage 11b, each of which
`stores a file 12. The file 12 consists, as shown in FIG. 11, of
`a plurality of blocks 120 each containing a plurality of data
`records 130. The block 120 serves as a unit of input to and
`output from the buffer 14 and also a unit of exclusive
`control.
`
`A plurality of application programs which commonly use
`a file on the external storage 11 update or otherwise process
`data records 130 on the buffer 14 in the storage 13. The
`nonvolatile storage 15 may be a RAM(Random Access
`Memory) with power backup or an EEPROM(Electronic
`Erasable and Programmable ROM). The block data storage
`area 30 stores the type (magnetic storage 11a or semicon-
`ductor storage 11D)of the applicable external storage used as
`the source storage of the blocks read or written and, if the
`blocks are in the magnetic storage 11a, write positions.
`In addition, this file input/output control device has,as its
`functions, exclusion means 17 to exclusively control each
`block, buffer save means 19 to save the blocksin the buffer
`14 to the temporary storage area 16, block write means 20
`to write the blocks in the buffer 14 to the file 12, write
`request means18 to control the buffer save means 19 and the
`block write means 20, temporary storage erase means 22 to
`erase the blocks in the temporary storage area 16, exclusion
`cancellation means 23 to cancel exclusive control for a
`block, exclusive contro] means 21 to control the temporary
`storage erase means 22 andthe exclusion cancellation means
`23, buffer restoration means 24 to restore the contents in the
`buffer 14 from the contents in the temporary storage area 16,
`block read means 26 to read blocks from thefile 12 in the
`external storage 11 and store them to the buffer 14 and the
`read request means25 to control the buffer restoration means
`24 and the block read means 26.
`
`Next, the operation of a file input/output control device
`configured as above is described below.
`FIG. 3 is a flowchart to illustrate processing at the rcad
`request means 25 when an application program reads a block
`from the file 12 on the external storage 11. Firstly, the read
`request means 25 checks whether buffer 14 has the acquired
`block (Step 301). If that block is on the buffer 14 (““YES”for
`Step 302), the processing ends since there is no need of
`reading the requested block from thefile 12 on the external
`storage 11.
`the
`If the required block is not found in Step 302,
`temporary storage area 16 in the nonvolatile storage 15 is
`checked for the requested block (Step 303). If the requested
`block exists on the temporary storage area 16 (“YES” for
`Step 304), the buffer restoration means24 is activated so that
`the requested block is fetched from the temporary storage
`area 16 and stored in the buffer 14 (Step 305). If the required
`block is not found in Step 304, the block read means 26is
`activated so that the requested block is read from thefile 12
`
`

`

`5,594,909
`
`5
`in the external storage 11 andstored to the buffer 14 (Step
`306).
`Suppose an application program reads a plurality of
`blocksin the file 12 on the external storage 11 and updates
`or otherwise processes them at the buffer 14 in the storage
`13 and then establishes a quiet point when the processing
`ends. Note that the block transferred to the buffer 14 and
`subjected to update or other processing has been already
`placed under exclusive control by the exclusion means 17.
`FIG.4 showsthe processing of quiet point establishment.
`The write request means 18 (Step 401) first, and then the
`exclusive control means 21 (Step 402) are activated. There-
`after, as shown in FIG. 5,
`the write request means 18
`activates the buffer save means 19 (Step 501). The buffer
`save means 19 transfers all the blocks in the buffer 14
`updated in its transaction to the temporary storage area 16.
`Whenthe buffer save means 19 terminates its processing,
`the write request means 18 activates the block write means
`20 with specifying a block for each block in the buffer 14
`updated in the transaction (Stcp 502). The block write means
`20 in turn writes the blocks from the buffer 14 to thefile 12
`in the external storage 11 as specified.
`For proper block writing in Step 502 as shownin FIG.5,
`the order of block writing as described below is preferred.
`Primarily, if there are some blocks with different access
`speeds (blocks on the magnetic storage 11a and the semi-
`conductorstorage 115 in the external storage 11), the block
`write means 20 is activated for the blocks in the order of
`access speeds of their source storages starting from the
`fastest one. This enables block writing for a storage with the
`higher access speed to terminate earlier and thereby causes
`the exclusion cancellation as described later to be earlier.
`FIG. 9 shows the processing in this case. The write request
`means 18 refers to the block data storage area 30 (Step 901),
`judges whether the source storage of the specified block is
`the semiconductor storage 11b or not (Step 902), and if the
`source storage is the semiconductor storage 11b, writes the
`block to the file 12 (Step 903). These steps are repeated as
`far as any block whose source storage is the semiconductor
`storage 11b can be found (Step 904). Next, in Steps 905 to
`908, the specified blocks whose source storage is the mag-
`netic storage 11a are subjected to the similar writing pro-
`cessing. This realizes effective block writing.
`Secondly, if there are a plurality of blocks having the
`same source storage (in case of the magnetic storage 11a),
`the block write means 20 is activated for the blocks in the
`order of physical positions in the magnetic storage 11a. For
`example, a block at an outer side of the magnetic disk is
`written earlier. This reduces the seek operation at the mag-
`netic storage 1la with a mechanical drive, which results in
`faster processing. FIG. 10 showstheprocessingin this case.
`Firstly, the write request means 18 refers to the block data
`storage area 30 (Step 1001). The blocks whose source
`storage is the magnetic storage lla are arranged in the order
`of write positions on the magnetic storage La (Step 1002).
`Then,in the orderof accessibility of write positions starting
`from the position which can be accessed the most quickly,
`the blocksare written to the file 12 (Step 1003). These steps
`are repeated until all the blocks are processed (Step 1005).
`On the other hand, as shown in FIG. 6, the exclusive
`control means 21 waits for completion of writing by the
`block write means 20. Whenit detects that the block write
`means 20 terminates the processing, it activates the tempo-
`rary storage erase means 22 (Step 601). The temporary
`storage erase means 22 erases the applicable blocks on the
`temporary storage area 16 on the nonvolatile storage 15.
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`Then, the exclusive control means 21 activates the exclusion
`cancellation means 23 (Step 602). The exclusion cancella-
`tion means 23 cancels the exclusive control for the blocks
`for which the writing is completed.
`Since the exclusion cancellation means 23 operates con-
`currently for the blocks, the blocks for which processing by
`the block write means 20 terminates in shorter time,i.e. the
`blocks on the semiconductor storage 11b, can be released
`from the exclusive control earlier.
`
`Restoration processing in case of system down due to
`system failure or other causes during the processing above
`is now described for two cases,
`Thefirst case is for system down during the processing by
`the buffer save means 19. In this case, the contents in the
`buffer 14 are destroyed or returnedto the initial status and
`they cannot be used. The contents in the temporary storage
`area 16 cannot be used either because whetherthe transfer
`of blocks in Step 501 in FIG. 5 has been completed or not
`cannot be assured. Accordingly, as shown in FIG. 7, the
`temporary storage erase means 22 is activated so as to erase
`the contents in the temporary storage area 16 (Step 701) and
`the application program is reactivated (Step 702). This
`brings the system to the status before starting to use the
`application program so that the user processes the transac-
`tion again.
`Second case is for restoration in case of system down
`during the processing by the block write means 20. In this
`case, too, the contents in the buffer 14 are destroyed or
`returned to the initial status and they cannot be used.
`However, the contents in the temporary storage area 16 can
`be used because the processing has been already completed.
`Accordingly, as shown in FIG. 8, the buffer restoration
`means 24is activated by the read request means 25 so as to
`transfer the blocks from the temporary storage area 16 to the
`buffer 14 (Step 801). Then, the block write means 20 is
`activated and the writing to the file 12 is performed again
`(Step 802). Finally, the temporary storage erase means 22is
`activated so as to erase the contents in the temporary storage
`area 16 (Step 803). In this case, the system can be restored
`without wasting the results of transaction processing so far.
`Asdescribed above,in the file input/output control device
`according to this embodiment, writing from the buffer to the
`file 12 in the external storage 11 is performedfor each block,
`and, each time writing of a block is completed, exclusionis
`canceled for that block; this reduces the time of exclusive
`control for the blocks on the storage capable of high speed
`processing such as a semiconductor storage 11b. This can
`realize concurrent use of the blocks by a plurality of appli-
`cation programs.
`Even when a failure is caused during the foregoing
`process, which makesit impossible to write the buffer 14 in
`the file 12, since the buffer 14 which is incomplete in writing
`is temporarily stored in the temporary storage area 16,
`atomicity can be assured by writing back the content of the
`temporary buffer in the file 12 after recovery.
`Obviously various modifications can be made to the
`embodiment described above.It is intended to cover in the
`appended claimsall such modifications as fall within the
`true spirit and scope of the invention.
`Whatis claimed is:
`1. A file input/output control device for a computer system
`comprising:
`an external storage to store a file commonly accessed by
`a plurality of processing programs;
`read meansfor reading a plurality of blocks in said file in
`said external storage block by block;
`
`

`

`5,594,909
`
`10
`
`20
`
`25
`
`30
`
`35
`
`7
`buffer means for storing the blocks read by said read
`means;
`
`8
`read meansfor readinga plurality of blocks ina file in said
`external storage block by block;
`exclusion means for placing each of the blocks stored in
`buffer means for storing the blocks read by said read
`said buffer means under exclusive control block by
`means;
`block;
`exclusion means for placing each of the blocks stored in
`block write means for writing each of the blocksstored in
`said buffer means under exclusive control block by
`said buffer means to said external storage when a quiet
`block;
`point of one of said processing programsis established;
`block write means for writing each ofthe blocks stored in
`exclusion cancellation means for, each time said block
`said buffer means to said external storage when a quiet
`write means finishes writing one of the blocks, cancel-
`pointof oneof said processing programsis established;
`ing exclusive control for the one block;
`exclusion cancellation means for, each time said block
`temporary storage means for storing temporarily the
`write means finishes writing a one of said blocks,
`blocks in said buffer means;
`canceling exclusive contro! for the one block;
`save means for saving the blocks to said temporary
`temporary storage means for storing temporarily the
`storage means before the block write means writes the
`blocks stored in said buffer means;
`blocks stored in said buffer means to said external
`save means for saving at least one of the blocks to said
`storage;
`temporary storage meansbefore the block write means
`buffer restoration means for writing each of said blocks
`writes the at least one block stored in said buffer means
`stored in said temporary storage meansinto said buffer
`to said external storage;
`means in case of failure in writing each of said blocks
`restoration means for restoring in case of failure by
`into said external storage by said block write means;
`rewriting the blocks in said temporary storage mcansto
`wherein said external storage includes a plurality of
`said buffer means;
`storages with different processing speeds; and further
`wherein said external storage includes a plurality of
`comprising
`storages with different processing speeds; and further
`block data storage meansfor storing data to indicate a one
`comprising
`of the storages in said external storage from which the
`block data storage meansforstoring data to indicate a one
`biock was read; and
`ofthe storages in said external storage from which the
`write request means for referring to said block data
`block was read; and
`storage meansand instructing said block write means to
`write request means for referring to said block data
`write the blocks starting from the blocks whoseindi-
`storage meansandinstructing said block write meansto
`cated one of the storages has the faster processing
`write the blocks starting from the blocks whose indi-
`speed.
`cated one of the storages has the faster processing
`2. A file input/output control device for a computer system
`speed.
`of claim 1 wherein said block data storage means includes
`6. A file input/output control device for a computer system
`means for storing as data the block write positions on said
`of claim 5 further comprising erase means for erasing the
`external storage; and wherein said write request means
`blocks in said temporary storage means upon completion of
`includes means for referring to said block data storage
`rewriting of the blocks in said temporary storage means to
`means and instructing said block write means to write the
`said buffer means.
`blocksin the order of accessibility of write positions starting
`7. A file input/output control devices for a computer of
`from a position the most quickly accessed.
`claim 5 wherein said temporary storage means comprises a
`3.Afile input/output control device for a computer system
`nonvolatile storage medium.
`of claim 1, wherein said write means writes said more than
`8. A file input/output control device for a computer system
`one block back to a same one of said storages during the
`of claim 5:
`quiet point in an order of physical positions of said more
`wherein said block data storage means includes meansfor
`than one block in said same oneof said storages, when said
`write means determines that more than one block came from
`storing as data the block write positions on said exter-
`nal storage; and
`a same one ofsaid storages.
`4, A file input/output control device for a computer of
`wherein said write request means includes means for
`claim 1, wherein said temporary storage means comprises a
`referring to said block data storage meansandinstruct-
`nonvolatile storage medium.
`ing said block write means. to write the blocks in the
`5.Afile input/output contro] device for a computer system
`order of accessibility of write positions starting from a
`comprising:
`position the most quickly accessed.
`an external storage to store a file commonly accessed by
`x
`ok
`K kK
`a plurality of processing programs;
`
`40
`
`45
`
`50
`
`55
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket