Nova Patents
EP0446940A2

Dynamic data storage system.

Abstract

The system of the present invention provides a data storage system program (18) between a user and a physical memory device (14) which stores file records (20). The data storage system (18) stores records as linked record segments 40/50 that can be randomly located within the memory storage device (14). The segments 40/50 are linked by a next segment address found in a next segment address field 50/51 of a record segment 40/50. When a record needs to be expanded and the current record segment 1000 is not large enough to accommodate the expansion, another record segment 1082 is allocated and used. If variable length record segments 40 are used, only a single record extension is required. However, if fixed length record segments 50 are used, the system allocates sufficient fixed length record segments to store the additional data. When records shrink in size or are deleted, the vacant space becomes available for reuse and the system attempts to remove the vacant space by combining record segments and storing a single segment in available vacant space.

EP0446940A2, drawing sheet 1
Sheet 1 of 18

Term

Term ended

Projected expiry passed 15 March 2011, 15.5 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

20 claims: 5 independent, 15 dependent

  1. 1
    A dynamic data storage system, comprising:memory means for storing;and    processing means for determining whether a current first record segment in said memory means will store input data input by a user, and linking a second record segment in said memory means to said first record segment and storing the input data in the first and second record segments when the current first record segment will not store the input data.
  2. 12
    A dynamic data storage system, comprising:storage storing a file including a first record segment including data having a stored length and a next address field;a processor connected to said storage and determining whether input data having an input length is less than, equal to or greater than the stored length, storing the input data in the first record segment having a reduced stored length and designating vacant space in the file when the input length is less than the stored length, storing the input data in the first record segment and in a second record segment at a first available vacant location in the file and storing an address of the second record segment in the next address field when the input length is greater than the stored length, combining the first and second record segments into a single record segment when a vacant area in the file equal to a size of the first and second record segments combined becomes available.
  3. 13
    A method of dynamic data storage, comprising:(a) allowing a user to input data of any length;(b) determining a difference in length between the input data and a first record segment;(c) allocating a second record segment having a length equal to the difference when the difference is positive;(d) linking the first record segment to the second record segment;and (e) storing the input data in the first and second record segments.
  4. 17
    A method of dynamic data storage, comprising:(a) allowing a user to input data having an input length;(b) comparing the input length to a stored length of a first record segment;(c) allocating a second record segment having a length equal to a difference between the input and stored lengths when the input data length is greater than the stored data length;(d) linking the first record segment to the second record segment by storing an address of the second record segment in the first record segment;(e) storing the input data in the first and second record segments;(f) reducing a size of the first record segment when the stored length is greater than the input length;and (g) indicating the difference is available for data storage;(h) allowing the user to indicate a record segment is to be deleted;(i) indicating the deleted record segment is available for data storage;(j) searching for file vacant space having a space length;and (k) combining the first and second record segments and storing a single record segment in the vacant space when the combined first and second record segments have a combined length shorter than or equal to the space length of the vacant space.
  5. 18
    A data structure, comprising:a first data record segment stored in a first physical location of a memory media and having a record identification field including a record identifier, a first data field and a next address record field including an address of a second physical location in the memory media;and    a second data record segment stored in the second physical location and having the record identification field including the record identifier, a second data field, and where data of a single record being stored in the first and second data fields of said first and second data record segments.