Patent Publication Number: US-7221634-B2

Title: Apparatus for and method of recording data, and program

Description:
BACKGROUND OF THE INVENTION 
   The present invention relates to a recording apparatus for uniformizing the numbers of times that data are rewritten in respective recording areas of a rewritable recording medium. 
   DESCRIPTION OF THE RELATED ART 
   Randomly accessible recording mediums such as optical disks, for example, are finding growing use in many fields including broadcasting applications as the recording density of those recording mediums becomes higher and higher. 
   The number of times that data can be rewritten on optical disks is about 1000 at maximum. Therefore, if data are repeatedly rewritten in a certain local area on an optical disk, then the number of times that data have been recorded in that local area soon reaches its upper limit, preventing subsequent data from being recorded in that local area. The failure to record data in the local area on the optical disk means that it is difficult to have a large continuous recording area available on the optical disk, resulting in limitations on the recording and reproducing process, such as an increased seeking time, for example. 
   Conventional recording apparatus using optical disks or the like as recording mediums are arranged to update information (hereinafter referred to as “empty area data”) as to the locations and sizes of empty areas on the recording medium which is used, depending on the recording or deletion of data, and to record the updated information back on the recording medium. However, the conventional recording apparatus are not arranged to uniformize the numbers of times that data can be recorded in respective recording areas of the recording medium, based on the empty area data. 
   SUMMARY OF THE INVENTION 
   It is therefore an object of the present invention to provide a recording apparatus, a recording method, and a program which are capable of uniformizing the numbers of times that data can be recorded in respective recording areas of a randomly accessible recording medium. 
   According to the present invention, there is provided a recording apparatus including determining means for determining a sequence to record input data in empty areas among recording areas of the recording medium for substantially uniformizing recording counts in respective recording areas, and recording means for recording the input data in the empty areas according to the sequence determined by the determining means. 
   According to the present invention, there is also provided a recording method including the steps of determining a sequence to record input data in empty areas among recording areas of the recording medium for substantially uniformizing recording counts in respective recording areas, and recording the input data in the empty areas according to the sequence determined by the determining step. 
   According to the present invention, there is further provided a program for enabling a computer to carry out a recording method, the method including the steps of controlling determination of a sequence to record input data in empty areas among recording areas of a recording medium for substantially uniformizing recording counts in respective recording areas, and controlling recording of the input data in the empty areas according to the sequence determined by the determination controlling step. 

   
     The above and other objects, features, and advantages of the present invention will become more apparent from the following description when taken in conjunction with the accompanying drawings in which preferred embodiments of the present invention are shown by way of illustrative example. 
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a block diagram of a recording apparatus according to the present invention; 
       FIG. 2  is a flowchart of an editing process performed by the recording apparatus shown in  FIG. 1 ; 
       FIG. 3  is a flowchart of a processing sequence in step S 1  of the editing process shown in  FIG. 2 ; 
       FIG. 4  is a diagram showing contents stored in a memory shown in  FIG. 1 ; 
       FIG. 5  is a diagram showing a recorded state of data on an optical disk shown in  FIG. 1 ; 
       FIG. 6  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 7  is a flowchart of a processing sequence in step S 3  of the editing process shown in  FIG. 2 ; 
       FIG. 8  is a flowchart of a processing sequence in step S 5  of the editing process shown in  FIG. 2 ; 
       FIG. 9  is a diagram showing another recorded state of data on the optical disk shown in  FIG. 1 ; 
       FIG. 10  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 11  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 12  is a diagram showing another recorded state of data on the optical disk shown in  FIG. 1 ; 
       FIG. 13  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 14  is a diagram showing another recorded state of data on the optical disk shown in  FIG. 1 ; 
       FIG. 15  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 16  is a diagram showing another recorded state of data on the optical disk shown in  FIG. 1 ; 
       FIG. 17  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 18  is a diagram showing another recorded state of data on the optical disk shown in  FIG. 1 ; 
       FIG. 19  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 20  is a diagram showing another recorded state of data on the optical disk shown in  FIG. 1 ; 
       FIG. 21  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 22  is a diagram showing another recorded state of data on the optical disk shown in  FIG. 1 ; 
       FIG. 23  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 24  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 25  is a diagram showing another recorded state of data on the optical disk shown in  FIG. 1 ; 
       FIG. 26  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 27  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 28  is a diagram showing another recorded state of data on the optical disk shown in  FIG. 1 ; 
       FIG. 29  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 30  is a diagram showing another recorded state of data on the optical disk shown in  FIG. 1 ; 
       FIG. 31  is a flowchart of another processing sequence in step S 1  of the editing process shown in  FIG. 2 ; 
       FIG. 32  is a flowchart of still another processing sequence in step S 1  of the editing process shown in  FIG. 2 ; 
       FIG. 33  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 34  is a flowchart of another processing sequence in step S 3  of the editing process shown in  FIG. 2 ; 
       FIG. 35  is a flowchart of another processing sequence in step S 5  of the editing process shown in  FIG. 2 ; 
       FIG. 36  is a diagram showing another recorded state of data on the optical disk shown in  FIG. 1 ; 
       FIG. 37  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 38  is a diagram showing another recorded state of data on the optical disk shown in  FIG. 1 ; 
       FIG. 39  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; 
       FIG. 40  is a diagram showing another recorded state of data on the optical disk shown in  FIG. 1 ; 
       FIG. 41  is a diagram showing other contents stored in the memory shown in  FIG. 1 ; and 
       FIG. 42  is a block diagram showing an arrangement of a personal computer. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 1  shows in block form a recording apparatus  1  according to the present invention. 
   As shown in  FIG. 1 , the recording apparatus  1  performs an editing process for recording data on an optical disk  2  and deleting data recorded on the optical disk  2 . 
   The recording apparatus  1  comprises an input data processor  11 , a memory  12 , a console  13 , a display  14 , a drive  15 , and a controller  16 . 
   The input data processor  11  comprises a video/audio interface, an encoder, and a buffer memory. The input data processor  11  encodes and processes an image signal inputted from an imaging device (not shown) and an audio signal inputted from a microphone (not shown), and supplies the encoded and processed data through the controller  16  to the drive  15 . 
   The memory  12  stores data required in the editing process that is performed by the controller  16 , and supplies the stored data to the controller  16 . 
   The console  13  is operated by the user for entering various commands into the controller  16 . The display  14  displays messages and images in response to data supplied from the controller  16 . 
   The drive  15  records input data supplied from the input data processor  11  through the controller  16  on the optical disk  2 , and deletes data recorded on the optical disk  2 . 
   The controller  16  controls the components of the recording apparatus  1 . 
   The editing process performed by the recording apparatus  1  will be described below with reference to  FIG. 2 . For the sake of brevity, various processes of the editing process will be described below according to the sequence represented by the flowchart shown in  FIG. 2 . However, a startup process in step S 1 , a data recording process in step S 3 , and a data deleting process in step S 5  may be carried out independently of each other, or may be carried out by other apparatus. 
   In step S 1 , the controller  16  activates the recording apparatus  1  when its power supply is turned on, for example. The startup process in step S 1  will be described in detail later on with reference to  FIG. 3 . 
   In step S 2 , the controller  16  determines whether a request for data recording is inputted from the console  13  or not. If a request for data recording is inputted, then control goes to step S 3  in which the controller  16  controls the drive  15  to record data inputted from the input data processor  11  on the optical disk  2 . The data recording process in step S 3  will be described in detail later on with reference to  FIG. 7 . 
   If a request for data recording is not inputted in step S 2 , or after data has been recorded in step S 3 , control goes to step S 4  in which the controller  16  determines whether a request for data deletion is inputted from the console  13  or not. If a request for data deletion is inputted, then control goes to step S 5  in which the controller  16  deletes data. The data deleting process in step S 5  will be described in detail later on with reference to  FIG. 8 . 
   If a request for data deletion is not inputted in step S 4 , or after data has been deleted in step S 5 , control goes to step S 6  in which the controller  16  determines whether a command for ending the editing process is inputted from the console  13  or not. If a command for ending the editing process is inputted, then control goes to step S 7 . For example, if the optical disk  2  is removed, then the controller  16  judges that a command for ending the editing process is inputted, and control goes to step S 7 . 
   In step S 7 , the controller  16  controls the drive  15  to record empty area rewriting management data generated in steps S 1 , S 3 , S 5 , as well as empty area data, i.e., information as to the locations and sizes of empty areas on the optical disk  2 , on the optical disk  2 . 
   The processing in step S 7  may be effected when the optical disk  2  is removed or the power supply is turned off. 
   Thereafter, the editing process is put to an end. 
   The startup process in step S 1  shown in  FIG. 2  will be described below with reference to  FIG. 3 . 
   In step S 11 , the controller  16  generates a current queue  101 , a next queue  102 , a recording count column  103 , and a recording start position column  104  in the memory  12 . When the current queue  101 , the next queue  102 , the recording count column  103 , and the recording start position column  104  are generated, they are empty. 
   In step S 12 , the controller  16  determines whether empty area rewriting management data is recorded on the optical disk  2  or not. If it is judged empty area rewriting management data is not recorded on the optical disk  2 , then control goes to step S 13 . Since empty area rewriting management data is not recorded on an optical disk  2  if no data has been recorded on or deleted from the optical disk  2 , i.e., no editing process has been performed on the optical disk  2 , by the recording apparatus  1 , i.e., if no empty area rewriting management data is not recorded on the optical disk  2  in step S 7  shown in  FIG. 2 , when such an optical disk  2  is inserted, control goes to step S 13 . 
   In step S 13 , the controller  16  determines whether empty area data is recorded on the optical disk  2  or not. If it is judged that no empty area data is recorded on the optical disk  2 , then control goes to step S 14 . Since no empty area data is recorded on an optical disk  2  if the optical disk  2  is blank as it is shipped and no data has been recorded on or deleted from the optical disk  2  by the recording apparatus  1  or a conventional recording apparatus, when such an optical disk  2  is inserted, control goes to step S 14 . 
   In step S 14 , the controller  16  sets area information of all empty areas that are present on the optical disk  2  when it is inserted (the area information may represent the start positions and sizes of the empty areas) in the current queue  101  generated in the memory  12  according to the sequence of the positions in terms of the addresses of the empty areas. 
   For example, as shown in  FIG. 5 , if empty areas A, B, C, D are present on the optical disk  2 , then the start positions and sizes of those empty areas A, B, C, D are set in the current queue  101  in the sequence of the start positions, as shown in  FIG. 6 . The positions of the empty areas are represented by logic block numbers which indicate logic sector numbers of respective blocks, and the sizes of the empty areas are represented by block numbers belonging to the empty areas. 
   Setting area information will hereinafter also be referred to as registering empty areas. 
   In step S 15 , the controller  16  initializes the recording count column  103  generated in the memory  12  to  1 , as shown in  FIG. 6 . In step S 16 , the controller  16  initializes the recording start position column  104  to the leading position (position 00000) on the optical disk  2 . In  FIG. 5  and other similar figures, the upward arrow indicates the recording start position. 
   If it is judged that empty area data is recorded in step S 13 , then control goes to step S 17  in which the controller  16  registers area information of empty areas represented by the empty area data in the current queue  101  in the memory  12  according to the sequence of the positions in terms of the addresses of the empty areas. Thereafter, control proceeds to step S 15 . 
   If it is judged that empty area rewriting management data is recorded in step S 12 , then control goes to step S 18 . The empty area rewriting management data refers to all data set respectively in the current queue  101 , the next queue  102 , the recording count column  103 , and the recording start position column  104  as shown in  FIG. 6 , and is recorded on the optical disk  2  which has been edited, in step S 7 . 
   In step S 18 , the controller  16  registers empty areas registered in the current queue  101  which are contained in the empty area rewriting management data, in the current queue  101  generated in the memory  12 , and also registers empty areas registered in the next queue  101  which are contained in the empty area rewriting management data, in the next queue  102  generated in the memory  12 . In step S 19 , the controller  16  sets the writing count column  103  generated in the memory  12  to the value set in the writing count column  103  which is contained in the empty area rewriting management data. In step S 20 , the controller  16  sets the recording start position column  104  generated in the memory  12  to the position set in the recording start position column  104  which is contained in the empty area rewriting management data. 
   According to the processing in steps S 18  through S 20 , the empty area rewriting management data on the optical disk  2  is read into the memory  12 . 
   After the recording start position column  104  is set to the given position in step S 16  or S 20 , then control returns to step S 2  shown in  FIG. 2 . 
   The data recording process in step S 3  will be described in detail below with reference to  FIG. 7 , and the data deleting process in step S 5  will be described in detail below with reference to  FIG. 8 . First, these processes will briefly be described with reference to the flowcharts of  FIGS. 7 and 8 , and will thereafter be described in detail by way of specific example. 
   First, the data recording process in step S 3  will be described below with reference to the flowchart of  FIG. 7 . In step S 31  shown in  FIG. 7 , the controller  16  determines whether empty areas are recorded in the current queue  101  generated in the memory  12  or not in step S 14 , S 17 , or S 18  shown in  FIG. 3 . If it is judged that empty areas are recorded in the current queue  101 , then control goes to step S 32  in which the controller  16  determines the empty area positioned most forwardly in terms of addresses, i.e., the empty area closest to the leading end of the optical disk  2 , among the empty areas registered in the current queue  101 , to be an area for recording data therein. 
   In step S 33 , the controller  16  controls the drive  15  to record data inputted from the input data processor  11  in the empty area determined in step S 32  on the optical disk  2 . 
   In step S 34 , the controller  16  changes the area information of the empty area where the data has been recorded, depending on the amount of the recorded data. Specifically, the area start position and size of that empty area are changed to those representing the empty area which are generated after the data has been recorded therein. 
   In step S 35 , the controller  16  determines whether all the data to be recorded has been recorded on the optical disk  2  or not. If certain data remains to be recorded, then control goes back to step S 31  and the processing from step S 31  will be performed. 
   If it is judged that all the data to be recorded has been recorded on the optical disk  2  in step S 35 , then control proceeds to step S 36  in which the controller  16  changes the recording start position in the recording start position column  104  in the memory  12  to a data recording end position, i.e., the position where the last data has been recorded in step S 33 . 
   If it is judged that no empty areas are recorded in the current queue  101  in step  531 , then control goes to step S 37  in which the controller  16  increments the recording count in the recording count column  103  by 1. In step S 38 , the controller  16  resets the recording start position in the recording start position column  104  to the leading position (position 00000) on the optical disk  2 . 
   In step S 39 , the controller  16  moves the empty areas registered in the next queue  102  to the current queue  101 . As a result, the next queue  102  becomes empty. 
   In step S 40 , the controller  16  determines whether empty areas are recorded in the current queue  101  or not. If it is judged that empty areas are recorded in the current queue  101 , then control returns to step S 32  and the processing from step S 32  will be performed. 
   If it is judged that no empty areas are recorded in the current queue  101  in step S 40 , then control goes to step S 41  in which the controller  16  controls the display  14  to display an error message representing a recording failure. 
   After the recording start position in the recording start position column  104  is changed in step S 36  or the error message is displayed in step S 41 , control returns to step S 4  shown in  FIG. 2 . 
   The data deleting process in step S 5  will be described below with reference to the flowchart of  FIG. 8 . 
   In step S 51 , the controller  16  controls the drive  15  to delete data, which is indicated by the console  13  operated by the user, for example, from the optical disk  2 . 
   Deleting data may refer to actually deleting data or handling data as if deleted. 
   In step S 52 , the controller  16  determines whether the area from which the data has been deleted in step S 51 , i.e., the area which has become empty or the area which is regarded as having the data deleted therefrom, is positioned forward of the recording start position in the recording start position column  104  or not. If it is judged that the area is positioned forward of the recording start position in the recording start position column  104 , then control goes to step S 53  in which the controller  16  registers the area from which the data has been deleted, i.e., the empty area, in the next queue  102 . The area information of the empty areas that are set in the next queue  102  at this time is sorted according to the sequence of the area leading positions. 
   In step S 54 , the controller  16  determines whether adjacent empty areas, i.e., successive empty areas, are registered in the next queue  102  or not. If it is judged that such adjacent empty areas are registered in the next queue  102 , then control goes to step S 55  in which the controller  16  combines area information of those adjacent empty areas. 
   If it is judged that no adjacent empty areas are registered in the next queue  102  in step S 54  or after the area information of the registered adjacent empty areas is combined in step S 55 , control returns to step S 6  shown in  FIG. 2 . 
   If it is judged that the area from which the data has been deleted is positioned not forward of, i.e., is positioned rearward of, the recording start position in the recording start position column  104  in step S 52 , then control goes to step S 56  in which the controller  16  registers the area from which the data has been deleted, i.e., the empty area, in the current queue  101 . The area information of the empty areas that are set in the current queue  101  at this time is sorted according to the sequence of the area leading positions. 
   In step S 57 , the controller  16  determines whether adjacent empty areas, i.e., successive empty areas, are registered in the current queue  101  or not. If it is judged that such adjacent empty areas are registered in the current queue  101 , then control goes to step S 58  in which the controller  16  combines area information of those adjacent empty areas. 
   If it is judged that no adjacent empty areas are registered in the current queue  101  in step S 57  or after the area information of the registered adjacent empty areas is combined in step S 58 , control returns to step S 6  shown in  FIG. 2 . 
   The data recording process (step S 3  shown in  FIG. 2  ( FIG. 7 ) and the data deleting process (step S 5  shown in  FIG. 2  ( FIG. 8 ) will be described in detail by way of specific example. 
   It is assumed that data having a size 4000 will be recorded on the optical disk  2  having empty areas as shown in  FIG. 5 . 
   Since the memory  12  stores the current queue  101 , the next queue  102 , the recording count column  103 , and the recording start position column  104  as shown in  FIG. 6 , the answer to step S 31  shown in  FIG. 7  is YES, and control goes to step S 32  in which the controller  16  determines the empty area positioned most forwardly in terms of addresses among the empty areas registered in the current queue  101 , to be an area for recording data therein. In step S 34 , the area information of the empty area A where the data having the size of 4000 is recorded is changed to “area leading position=05000, size=3000”. The empty area A whose area information has thus been changed is referred to as an empty area A′. 
   Since the data having the size of 4000 has all been recorded in the empty area A, the answer to step S 35  is YES, and control goes to step S 36 . In step S 36 , the recording start position in the recording start position column  104  is changed to the position 05000. Thereafter, control returns to step S 4  shown in  FIG. 2 . 
   It is assumed that data having a size of 7000 will then be recorded. Since the empty area A′, B, C, D have been recorded in the current queue  101  (see  FIG. 10 ), the answer to step S 31  is YES, and control goes to step S 32  in which the empty area A′ is determined to be an area for recording data therein. In step S 33 , of the data having the size of 7000, data having a size of 3000 is recorded in the empty area A′. In step S 34 , as shown in  FIG. 11 , the area information of the empty area A′ where the data having the size of 3000 is recorded is deleted from the current queue  101 . 
   In step S 35 , it is judged that data remains to be recorded, i.e., data having a size of 4000 remains to be recorded. Control then goes back through step S 31  to step S 32 . 
   In step S 32 , the empty area B (see  FIG. 11 ) is determined to be an area for recording data therein. In step S 33 , the remaining data having the size of 4000 is recorded in the empty area B from its leading end (position 10000), as shown in  FIG. 12 . In step S 34 , as shown in  FIG. 13 , the area information of the empty area B where the data having the size of 4000 is recorded is changed to “area leading position=14000, size=5000”. The empty area B whose area information has thus been changed is referred to as an empty area B′. 
   In step S 35 , it is judged that all the data having the size of 7000 has been recorded. Control then goes to step S 36  in which the recording start position in the recording start position column  104  is changed to the position 14000 as shown in  FIG. 13 . Thereafter, control returns to step S 4  shown in  FIG. 2 . 
   It is assumed that data having a size of 2000 will now be deleted from the position 26000 on the optical disk  2  on which the data has been recorded as shown in  FIG. 12 . At this time, the memory  12  stores the current queue  101 , the next queue  102 , the recording count column  103 , and the recording start position column  104  as shown in  FIG. 13 . 
   In step S 51  shown in  FIG. 8 , data having a size of 2000 is deleted from the position 26000 on the optical disk  2  as shown in  FIG. 14 . Since the area from which the data has been deleted, i.e., the empty area E, is not positioned forward of, i.e., is positioned rearward of, the recording start position (position 14000) in the recording start position column  104  (the position indicated by the upward arrow in  FIG. 14 ), the answer to step S 52  is NO, and control goes to step S 56 . 
   In step S 56 , the empty area E is registered in the current queue  101  as shown in  FIG. 15 . Because the area information is sorted according to the sequence of the area leading positions, the area information “area leading position=26000, size=2000” of the empty area E is set between the area information of the empty area C and the area information of the empty area D. 
   Inasmuch as the empty area C and the empty area E are now positioned adjacent each other in the current queue  101 , the answer to step S 57  is YES, and control goes to step S 58  in which the area information of the empty area C and the area information of the empty area E are combined into area information of the empty area F as shown in  FIG. 16  and  FIG. 17 . Thereafter, control returns to step S 6  shown in  FIG. 2 . 
   It is assumed that data having a size 4000 will then be deleted from the position 01000. After the data is deleted in step S 51  as shown in  FIG. 18 , since the area from which the data is deleted, i.e., the empty area G, is positioned forward of the recording start position (position 14000) in the recording start position column  104 , the answer to step S 52  is YES, and the empty area G is registered in the next queue  102  in step S 53  as shown in  FIG. 19 . 
   Because no adjacent empty areas are now registered in the next queue  102 , the answer to step S 54  is NO, after which control returns to step S 6  shown in  FIG. 2 . 
   It is assumed that data having a size 2000 will then be deleted from the position 12000. After the data is deleted in step S 51  as shown in  FIG. 20 , since the area from which the data is deleted, i.e., the empty area H, is positioned forward of the recording start position (position 14000) in the recording start position column  104 , the answer to step S 52  is YES, and control goes to step S 53 . 
   In step S 53 , the empty area H is registered in the next queue  102  as shown in  FIG. 21 . Because the area information is sorted according to the sequence of the area leading positions, the area information “area leading position=12000, size=2000” of the empty area H is set next to the area information of the empty area G. 
   As the empty area G and the empty area H that are registered in the next queue  102  are not adjacent to each other, the answer to step S 54  is NO, and control returns to step S 6  shown in  FIG. 2 . In  FIG. 20 , through the empty area H and the empty area B′ are positioned adjacent to each other, their area information is not combined because the empty area H is registered in the next queue  102  and the empty area B′ registered in the current queue  101 . 
   It is now assumed that data is repeatedly recorded on the optical disk  2  on which the data has been recorded as shown in  FIG. 20 , i.e., the processing in steps S 31  through S 36  shown in  FIG. 7  is repeated, and data is further recorded when no empty area is present after the recording start position (position 39000) in the recording start position column  104  as shown in  FIG. 22 . 
   At this time, the memory  12  stores the current queue  101 , the next queue  102 , the recording count column  103 , and the recording start position column  104  as shown in  FIG. 23 . 
   When the current queue  101  becomes empty, the answer to step S 31  shown in  FIG. 7  is NO, and control goes to step S 37  in which the recording count in the recording count column  103  is incremented by 1 and reaches 2 as shown in  FIG. 24 . In step S 38 , as shown in  FIG. 24 , the recording start position in the recording start position column  104  is reset to the leading position (position 00000) of the optical disk  2  ( FIG. 25 ). 
   In step S 39 , the area information of the empty areas G, H registered in the next queue  102  ( FIG. 24 ) is moved to the current queue  101  as shown in  FIG. 26 . Therefore, the answer to step S 40  is YES, and control goes to step S 32 . 
   In step S 32 , the empty area G is determined to be an area for recording data therein. In step S 33 , data is recorded in the empty area G. 
   Data is further recorded, and when the current queue  101  becomes empty again (when data is recorded on the optical disk  2  as shown in  FIG. 28 ) as shown in  FIG. 27 , data is further recorded. At this time, the recording start position in the recording start position column  104  is the position 14000. 
   Since no empty area is registered in the current queue  101 , the answer to step S 31  is NO, and control goes to step S 37  in which the recording count in the recording count column  103  is incremented by 1 and reaches 3 as shown in  FIG. 29 . In step S 38 , as shown in  FIG. 29 , the recording start position in the recording start position column  104  is reset to the leading position (position 00000) of the optical disk  2  ( FIG. 30 ). 
   In step S 39 , empty areas registered in the next queue  102  are moved to the current queue  101 . At this time, however, since the next queue  102  is empty as shown in  FIG. 29 , no empty area is registered in the current queue  101  after all. The answer to step S 40  is NO, and an error message indicating a recording failure is displayed on the display  14  in step S 41 . 
   The data recording and the data deletion are controlled as described above. When the data in the area from the position 12000 through the position 14000 in  FIG. 20 , for example, is deleted, since no data is recorded in the area (the empty area H) until data is recorded in the empty area B′, the empty area F, the empty area D, and the empty area G, data is prevented from being repeatedly recorded in the empty area H (certain position). Therefore, the rewriting counts in the respective recording areas of the optical disk  2  are uniformized. 
   The rewriting counts in respective sectors of the optical disk  2  may be uniformized by individually managing the rewriting counts in the respective sectors of the optical disk  2 . However, if the rewriting counts in one million sectors, for example, are counted by 2 bytes, then a storage capacity of about 2 MB will be necessary. Determining rewriting locations based on the counted rewriting counts requires complex calculations and is time-consuming. Therefore, it is not practical to uniformize the rewriting counts in respective sectors of the optical disk  2 . 
   According to the embodiment of the present invention, data to be stored are only data in the current queue  101 , the next queue  102 , the recording count column  103 , and the recording start position column  104 , and no complex calculations are required because rewriting locations are determined based on the positions of empty areas that are registered in the current queue  101 . 
   In the startup process, if empty area rewriting management data is recorded in step S 12  shown in  FIG. 3 , then empty areas indicated by the empty area rewriting management data are registered in the current queue  101  or the next queue  102  in step S 18 . However, empty areas that are currently present on the optical disk  2  may be distributed and registered in the current queue  101  or the next queue  102  based on the data (recording start position) set in the recording start position column  104 , among the empty area rewriting management data. 
   A startup process according to such a modification will be described below with reference to  FIG. 31 . 
   In step S 61  shown in  FIG. 31 , the controller  16  generates a current queue  101 , a next queue  102 , a recording count column  103 , and a recording start position column  104  in the memory  12 , as shown in  FIG. 4 . 
   In step S 62 , the controller  16  determines whether a recording start position is recorded as empty area rewriting management data on the optical disk  2  or not. If it is judged that a recording start position is recorded, then control goes to step S 68  in which the controller  16  reads the recording start position, registers those empty areas positions rearward of the read recording start position, among the empty areas that are present on the optical disk  2  at the time it is inserted, in the current queue  101 , and registers those empty areas positioned forward of the read recording start position in the next queue  102 . 
   In step  569 , the controller  16  initializes the recording count column  103  to 1. In step S 70 , the controller  70  sets the recording start position column  104  to the recording start position read in step S 68 . 
   In steps S 63  through S 67 , the controller  16  performs the same processing as in steps S 13  through S 17  shown in  FIG. 3 . Therefore, the processing in steps S 63  through S 67  will not be described below. 
   In the above embodiment, an area for recording data therein is determined based on the positions of empty areas. However, an area for recording data therein may be determined based on the sizes of empty areas. The startup process in step S 1  shown in  FIG. 2 , the data recording process in step S 3  shown in  FIG. 2 , and the data deleting process in step S 5  shown in  FIG. 2  for such a modification will be described below. 
   First, the startup process will be described below with reference to  FIG. 32 . 
   In step S 81  shown in  FIG. 33 , the controller  16  generates a current queue  101 , a next queue  102 , and a recording count column  103  in the memory  12  (and does not generate a recording start position column). When the current queue  101 , the next queue  102 , and the recording count column  103  are generated, they are empty. 
   In steps S 82 , S 83 , the controller  16  performs the same processing as in steps S 12 , S 13  shown in  FIG. 3 . Therefore, the processing in steps S 82 , S 83  will not be described below. 
   If it is judged that no empty area data is recorded on the optical disk  2  in step S 83 , then the controller  16  registers area information of all empty areas that are present on the optical disk  2  when it is inserted (the area information may represent the start positions and sizes of the empty areas) in the current queue  101  generated in the memory  12  according to the sequence of the sizes of the empty areas in step S 84 . 
   For example, as shown in  FIG. 5 , if empty areas A, B, C, D are present on the optical disk  2 , then the start positions and sizes of those empty areas B, D, A, C are set in the current queue  101  according to the sequence of the sizes, as shown in  FIG. 33 . If two or more empty areas have the same size, then they are set according to the sequence of the area leading positions. 
   In step S 85 , the controller  16  initializes the recording count column  103  generated in the memory  12  to  1 , as shown in  FIG. 33 . 
   If it is judged that empty area data is recorded in step S 83 , then control goes to step S 86  in which the controller  16  registers area information of empty areas represented by the empty area data in the current queue  101  in the memory  12  according to the sequence of the sizes. Thereafter, control proceeds to step S 85 . 
   If it is judged that empty area rewriting management data is recorded in step S 82 , then control goes to step S 87 . The empty area rewriting management data refers to all data set respectively in the current queue  101 , the next queue  102 , and the recording count column  103  as shown in  FIG. 33 , and is recorded on the optical disk  2  which has been edited, in step S 7 . 
   In step S 87 , the controller  16  registers empty areas (their area information) registered in the current queue  101  which are contained in the empty area rewriting management data, in the current queue  101  generated in the memory  12 , and also registers empty areas registered in the next queue  102  which are contained in the empty area rewriting management data, in the next queue  102  generated in the memory  12 . In step S 88 , the controller  16  sets the writing count column  103  generated in the memory  12  to the value set in the writing count column  103  which is contained in the empty area rewriting management data. 
   After the recording count column  103  is set to the given value in step S 85  or S 88 , then control returns to step S 2  shown in  FIG. 2 . 
   The data recording process (step S 3  shown in  FIG. 2 ) for the above modification will be described below with reference to  FIG. 34 . 
   In step S 91  shown in  FIG. 34 , the controller  16  determines whether empty areas are recorded in the current queue  101  generated in the memory  12  or not in step S 84 , S 86 , or S 87  shown in  FIG. 32 . If it is judged that empty areas are recorded in the current queue  101 , then control goes to step S 92  in which the controller  16  determines the empty area of the greatest size among the empty areas registered in the current queue  101 , to be an area for recording data therein. 
   In step S 93 , the controller  16  controls the drive  15  to record data inputted from the input data processor  11  in the empty area determined in step S 92  on the optical disk  2 . 
   In step S 94 , the controller  16  changes the area information of the empty area where the data has been recorded, depending on the amount of the recorded data. 
   In step S 95 , the controller  16  determines whether all the data to be recorded has been recorded on the optical disk  2  or not. If certain data remains to be recorded, then control goes back to step S 91  and the processing from step S 91  will be performed. 
   If it is judged that no empty areas are recorded in the current queue  101  in step S 91 , then control goes to step S 96  in which the controller  16  increments the recording count in the recording count column  103  by 1. 
   In step S 97 , the controller  16  moves the empty areas registered in the next queue  102  to the current queue  101 . As a result, the next queue  102  becomes empty. 
   In step S 98 , the controller  16  determines whether empty areas are recorded in the current queue  101  or not. If it is judged that empty areas are recorded in the current queue  101 , then control returns to step S 92  and the processing from step S 92  will be performed. 
   If it is judged that no empty areas are recorded in the current queue  101  in step S 98 , then control goes to step S 99  in which the controller  16  controls the display  14  to display an error message representing a recording failure. 
   After it is judged that all the data to be recorded has been recorded in step S 95  or the error message is displayed in step S 99 , control returns to step S 4  shown in  FIG. 2 . 
   The data deleting process (step S 5  shown in  FIG. 2 ) for the above modification will be described below with reference to  FIG. 35 . 
   In step S 101 , the controller  16  controls the drive  15  to delete data, which is indicated by the console  13  operated by the user, for example, from the optical disk  2 . 
   In step S 102 , the controller  16  registers the area from which the data has been deleted in step S 101 , i.e., the empty area, in the next queue  102 . 
   In step S 103 , the controller  16  determines whether adjacent empty areas, i.e., successive empty areas, are registered in the next queue  102  or not. If it is judged that such adjacent empty areas are registered in the next queue  102 , then control goes to step S 104  in which the controller  16  combines area information of those adjacent empty areas. 
   If it is judged that no adjacent empty areas are registered in the next queue  102  in step S 103  or after the area information of the registered adjacent empty areas is combined in step S 104 , control returns to step S 6  shown in  FIG. 2 . 
   The data recording process ( FIG. 34 ) and the data deleting process ( FIG. 35 ) will be will be described in detail by way of specific example. 
   It is assumed that data having a size 4000 will be recorded on the optical disk  2  having empty areas as shown in  FIG. 5 . 
   Since the memory  12  stores the current queue  101 , the next queue  102 , and the recording count column  103  as shown in  FIG. 33 , the answer to step S 91  shown in  FIG. 34  is YES, and control goes to step S 92  in which the controller  16  determines the greatest empty area B among the empty areas registered in the current queue  101 , to be an area for recording data therein. In step S 93 , the data having the size of 4000 is recorded in the empty area B from its leading end (position 10000), as shown in  FIG. 36 . In step S 94 , as shown in  FIG. 37 , the area information of the empty area B where the data having the size of 4000 is recorded is changed to “area leading position=14000, size=5000”. The empty area B whose area information has thus been changed is referred to as an empty area B″. Since the area information set in the current queue  101  is sorted according to size, the area information of the empty area B″ is set finally. 
   Since the data having the size of 4000, which is to be recorded, has all been recorded in the empty area B, the answer to step S 95  is YES, and control returns to step S 4  shown in  FIG. 2 . 
   It is assumed that data having a size of 9000 will then be recorded. As empty areas D, A, C, B″ have been recorded in the current queue  101  ( FIG. 37 ), the answer to step S 91  is YES, and control goes to step S 92  in which the empty area D with the greatest size is determined to be an area for recording data therein. In step S 93 , the data having the size of 9000 is recorded in the empty area D from its leading end (position 30000) as shown in  FIG. 38 . In step S 94 , as shown in  FIG. 39 , the area information of the empty area D where the data having the size of 9000 is recorded is deleted from the current queue  101 . 
   Since the data having the size of 9000, which is to be recorded, has all been recorded in the empty area D, the answer to step S 95  is YES, and control returns to step S 4  shown in  FIG. 2 . 
   It is assumed that the data having the size of 9000 ( FIG. 38 ) recorded in the empty area D will be deleted. 
   When the data is deleted in step S 101  shown in  FIG. 35 , as shown in  FIG. 40 , the area from which the data has been deleted (the empty area E) is registered in the next queue  102  in step S 102  as shown in  FIG. 41 . 
   Since no adjacent empty areas are now registered in the next queue  102 , the answer to step S 103  is NO, and control returns to step S 6  shown in  FIG. 2 . 
   The data recording and the data deletion are controlled as described above. When the data in the area from the position 30000 through the position 39000 in  FIG. 40 , for example, is deleted, since no data is recorded in the area (the empty area E) until data is recorded in the empty area A, the empty area C, and the empty area B″ ( FIG. 41 ), data is prevented from being repeatedly recorded in the empty area E (certain location). Therefore, the rewriting counts in the respective recording areas of the optical disk  2  are uniformized. 
   While the processing sequences described above may be implemented by hardware, they may also be implemented by software. If the processing sequences are implemented by software, then a computer program representing the processing sequences is installed in a computer. When the installed computer program is run by the computer, the processing sequences are carried out as functions of the recording apparatus  1 . 
     FIG. 42  shows in block form a computer  501  which functions as the recording apparatus  1 . As shown in  FIG. 42 , the computer  501  has a CPU (Central Processing Unit)  511  to which there is connected an input/output interface  516  by a bus  515 . When a command is inputted to the CPU  511  via the input/output interface  516  from an input unit  518  such as a keyboard, a mouse, or the like that is operated by the user, the CPU  511  loads a program that is stored in a ROM (Read Only Memory)  512 , a hard disk  514 , or a recording medium inserted in a drive  520  such as a magnetic disk  531 , an optical disk  532 , or a semiconductor memory  533 , into a RAM (Random Access Memory)  513 , and executes the program to perform the various processsing sequences described above. The CPU  511  outputs any processed results of the processing sequences through the input/output interface  516  to an output unit  517  which may comprise an LCD (Liquid Crystal Display) or the like. The program may be stored in the hard disk  514  or the ROM  512  in advance, and may be provided to the user in combination with the computer  501 . Alternatively, the program may be provided to the user as a program stored in a package medium such as the magnetic disk  531 , the optical disk  532 , the semiconductor memory  533 , or the like. Further alternatively, the program may be downloaded from a satellite, a network, or the like via a communication unit  519  to the hard disk  514 . 
   In the above description, the steps that are descriptive of the program provided by the recording medium cover not only processes that are carried out chronologically according to the sequence in which they are described, but also processes that are carried out concurrently or individually, rather than chronologically. 
   Although certain preferred embodiments of the present invention have been shown and described in detail, it should be understood that various changes and modifications may be made therein without departing from the scope of the appended claims.