System-on-chip file data storage management method and system

By constructing a file record page and data storage area management table, the cyclic allocation and erasure recycling of file data storage is controlled, which solves the problem of uneven wear of storage units caused by repeated writing of file data in the on-chip system, extends the service life of storage devices, and supports efficient file management.

CN115964352BActive Publication Date: 2026-07-21ZHENGZHOU XINDA JIEAN INFORMATION TECH
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZHENGZHOU XINDA JIEAN INFORMATION TECH
Filing Date
2023-01-12
Publication Date
2026-07-21

Smart Images

  • Figure CN115964352B_ABST
    Figure CN115964352B_ABST
Patent Text Reader

Abstract

The application relates to a file data storage management method and system of a system on chip. File record pages are used to store control information and space information of file data storage of each file, a file record page management table is constructed to control cyclic allocation and erasure recovery of the file record pages, and a data storage area management table is constructed to control cyclic allocation and erasure recovery of data storage blocks of the data storage area; each time file data is written, the data storage blocks of the file which are modified are erased and recovered, and new data storage blocks are allocated to the file to store the modified data. The technical scheme of the application can balance the overall wear of the storage units under the condition of repeated writing of file data, and prolongs the service life of the data storage of the system on chip to the maximum extent.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of data storage management and chip design, and specifically relates to a file data storage management method and system for a system-on-a-chip. Background Technology

[0002] Flash memory comes in several types, including NOR Flash Memory, NAND Flash Memory, and UltraNAND Flash Memory. Their common characteristics include the ability to erase and rewrite data, retaining written data even after power loss. Read and write operations are typically performed on a page-by-page basis, while erase operations are performed on a block-by-block basis. It is a low-cost, high-density memory. NOR Flash Memory, in particular, allows programs and data to be stored in a unified address space, enabling fast random access and allowing on-chip systems to directly read and execute code from Flash Memory. It also allows for single-word writing and has an erase / write cycle count between tens of thousands and hundreds of thousands, making it the preferred memory for on-chip system programs and data storage. However, because user data erasure and write operations are often localized and random, requiring repeated rewriting of certain file data, memory cells that undergo frequent erasure and write operations will reach their erase / write lifespan limit earlier than other cells, thus shortening the memory's lifespan and potentially causing on-chip system damage.

[0003] To extend the lifespan of on-chip system memory, wear leveling algorithms can be used to distribute erase and write operations evenly across the entire storage medium. Existing technologies include counting the number of erase and write operations on memory cells to achieve relatively even wear across cells, and using caching to reduce the number of erase and write operations. However, these methods cannot fundamentally solve the problem of shortened memory lifespan caused by repeated writing of certain files to specific areas.

[0004] Therefore, how to effectively manage file data storage in a system-on-a-chip and still achieve wear leveling of storage units even when certain data is repeatedly written to a file has become an urgent problem to be solved. Summary of the Invention

[0005] The purpose of this invention is to provide a file data storage management method and system for a system-on-a-chip, which addresses the need to maintain wear leveling of data storage units even when certain areas of file data are repeatedly written.

[0006] This invention uses file record pages to store the control information and space information of file data storage for each file. A file record page management table is constructed to control the cyclic allocation and erasure / reclaiming of file record pages, and a data storage area management table is constructed to control the cyclic allocation and erasure / reclaiming of data storage blocks in the data storage area. Each time file data is written, the modified data storage blocks for that file are erased and reclaimed, and new data storage blocks are allocated accordingly to store the modified data. Specifically:

[0007] 1. The technical solution of this invention enables the data storage space to achieve true overall wear balance. Even when file data is repeatedly written, the data storage space is still erased and written evenly, and there will be no situation where individual data storage units are frequently erased and written, thus maximizing the service life of the storage device.

[0008] 2. The technical solution of this invention uses file record pages to store file control information and data storage space information, which not only facilitates file data storage management, but also provides a file management method that allows for convenient and quick file creation, deletion, reading, writing and other operations. Attached Figure Description

[0009] Figure 1 This is a schematic diagram of a file data storage management system according to an embodiment of the present invention. Detailed Implementation

[0010] Example 1:

[0011] This embodiment provides a file data storage management method for a system-on-a-chip, the method comprising:

[0012] Create a file record page area, which includes multiple file record pages; for each file, use file record pages to store its control information, as well as the space information for file data storage allocated to it at creation time and each time data is written; construct a file record page management table to control the cyclic allocation and erasure / reclaiming of file record pages; construct a data storage area management table to control the cyclic allocation and erasure / reclaiming of data storage blocks in the data storage area.

[0013] When a file is created, file record pages and file data storage space are allocated for the file, and file control information and file data storage space information are recorded in the file record pages of the file. Each time file data is written, the modified data storage blocks of the file are erased and reclaimed, new data storage blocks are allocated for the file to store the modified data, and the file data storage space information is reconstructed and recorded in the file record pages of the file. When a file is deleted, the file record pages and data storage blocks occupied by the file are erased and reclaimed.

[0014] Preferably, the construction of the file record page management table, used to control the cyclic allocation and erasure / recycling of file record pages, specifically includes:

[0015] A file record page management table is constructed, with each entry including the identifier of a file record page and its usage status. The file record page management table is contiguous. A head pointer and a tail pointer are set, with the head pointer pointing to the currently available entry and the tail pointer pointing to the farthest available entry. When a new file record page is needed, the identifier of the file record page in the currently available entry is retrieved, the corresponding file record page is used to record file control information and file data storage space information, a used flag is written to the currently available entry, and the head pointer is moved down one entry. When a file record page is erased or recycled, the identifier of the erased or recycled file record page is written to the next entry of the farthest available entry in the file record page management table, and the tail pointer is moved down one entry.

[0016] The aforementioned data storage area management table, used to control the cyclic allocation and erasure / reclaim of data storage blocks in the data storage area, specifically includes:

[0017] A data storage area management table is constructed, with each entry including the identifier of a data storage block in the data storage area and the usage status of that data storage block; the data storage area management table is contiguous; a head pointer and a tail pointer are set, with the head pointer pointing to the currently available entry and the tail pointer pointing to the remotely available entry; when a new data storage block is needed, the identifier of the data storage block in the currently available entry is obtained, the corresponding data storage block is used to store file data, a used flag is written to the currently available entry, and the head pointer is moved down one entry; when data storage blocks are erased or reclaimed, the identifier of each erased or reclaimed data storage block is written to the next entry in the remotely available entry of the data storage area management table, and the tail pointer is moved down one entry.

[0018] Preferably, during initialization, the file record page area and data storage area are erased to put them in a state waiting for data to be written; the identifier of each available file record page is sequentially written into the corresponding entry in the file record page management table; in the entries of the file record page management table that record the identifier of available file record pages, the first entry is designated as the currently available entry and the last entry as the remote available entry; the head pointer of the file record page management table is set to point to the currently available entry and the tail pointer is set to point to the remote available entry; and one or more empty entries are added after the remote available entry.

[0019] Write the identifier of each available data storage block into the corresponding entry in the data storage area management table in sequence; in the entries of the data storage area management table that record the identifier of available data storage blocks, make the first entry its current available entry and the last entry its remote available entry, make the head pointer of the data storage area management table point to the current available entry and the tail pointer point to the remote available entry, and add one or more empty entries after the remote available entry.

[0020] Preferably, when creating a file, the file identifier and file size are obtained, and the file record page area and data storage area management table are searched to check whether the file creation conditions are met. If the file creation conditions are not met, the file creation fails and the file creation process is exited. Otherwise, a used flag is written to the currently available entry in the file record page management table, and the file identifier and file control information are written to the corresponding file record page according to the identifier of the file record page recorded in the table, and the head pointer of the file record page management table is moved down one item. In the data storage area management table, starting from its currently available entry, the table is searched downwards to obtain the entries corresponding to N available data storage blocks that meet the file size space. The identifiers of the N available data storage blocks are written to the corresponding record entries of the file record page, and the used flag is written to each of the N entries in sequence, and the head pointer of the data storage area management table is moved down N items, where N is a positive integer.

[0021] Preferably, when creating a file, the process of checking whether the file creation conditions are met includes: searching for the existence of a file identifier in the file record page area; if the identifier exists, the file creation conditions are not met; and checking the data storage area management table for storage space that meets the file size; if the storage space is insufficient, the file creation conditions are not met; otherwise, the file creation conditions are met.

[0022] Preferably, when writing file data, the file identifier is obtained, and the file record page area is searched to check if the file identifier exists. If it does not exist, the file data writing fails and the file data writing process exits. The file length information is read to determine if the length of the written data exceeds the storage boundary of the file data. If it exceeds the storage boundary of the file data, the file data writing fails and the file data writing process exits; otherwise, the file data writing operation is started. The number of data storage blocks M to be modified is calculated based on the length of the written file data. In the data storage area management table, starting from the currently available entries, M entries are obtained, and a used flag is written in the entries. The head pointer of the data storage area management table is moved down by M entries. Based on the M entries... The system identifies the data storage blocks, writes file data into the corresponding M data storage blocks, erases and reclaims the M data storage blocks whose files are replaced; creates a new record entry in the file record page where the file identifier is located, and writes the space information of the reallocated file data storage; if there is not enough space in the file record page where the file identifier is located to store the new record entry, writes a used flag into the currently available entry of the file record page management table, copies the file identifier and file control information from the original file record page into the corresponding file record page according to the file record page identifier recorded in the table, creates a new record entry, and writes the space information of the reallocated file data storage; erases and reclaims the original file record page.

[0023] Preferably, when deleting a file, the file identifier is obtained, and the file record page area is searched to check if the file identifier exists. If it does not exist, the file deletion fails and the file deletion process is exited; otherwise, the file deletion operation is started, and the corresponding data storage block is erased and reclaimed in sequence according to the identifier of the data storage block recorded in the last record item of the file record page where the file identifier is located; the file record page where the file identifier is located is erased and reclaimed.

[0024] Preferably, when reading file data, the file identifier is obtained, and the file record page area is searched to check if the file identifier exists. If it does not exist, the file data reading fails and the file data reading process is exited. The file length information is read, and it is determined whether the length of the read data exceeds the storage boundary of the file data. If it exceeds the storage boundary of the file data, the file data reading fails and the file data reading process is exited. Otherwise, the file data reading operation is started, and the file data of the specified length is read from the corresponding data storage block according to the identifier of the data storage block recorded in the last record item of the file record page where the file identifier is located.

[0025] Example 2:

[0026] This embodiment provides a file data storage and management system for a system-on-a-chip, such as... Figure 1As shown, it includes a file record page area, a file record page management table, and a data storage area management table. The file record page area includes multiple file record pages, which are used to store the control information of each file, as well as the space information for file data storage allocated to it when the file is created and each time file data is written. The file record page management table is used to control the cyclic allocation and erasure reclamation of file record pages. The data storage area management table is used to control the cyclic allocation and erasure reclamation of data storage blocks in the data storage area.

[0027] When a file is created, file record pages and file data storage space are allocated for the file, and file control information and file data storage space information are recorded in the file record pages of the file. Each time file data is written, the modified data storage blocks of the file are erased and reclaimed, new data storage blocks are allocated for the file to store the modified data, and the file data storage space information is reconstructed and recorded in the file record pages of the file. When a file is deleted, the file record pages and data storage blocks occupied by the file are erased and reclaimed.

[0028] Preferably, each entry in the file record page management table includes an identifier for a file record page and the usage status of that file record page; the file record page management table is contiguous; a head pointer and a tail pointer are set, with the head pointer pointing to the currently available entry and the tail pointer pointing to the farthest available entry; when a new file record page is needed, the identifier of the file record page in the currently available entry is obtained, the corresponding file record page is used to record file control information and file data storage space information, a used flag is written to the currently available entry, and the head pointer is moved down one entry; when a file record page is erased and recycled, the identifier of the erased and recycled file record page is written to the next entry of the farthest available entry in the file record page management table, and the tail pointer is moved down one entry.

[0029] Each entry in the data storage area management table includes the identifier of a data storage block in the data storage area and the usage status of that data storage block; the data storage area management table is contiguous; a head pointer and a tail pointer are set, with the head pointer pointing to the currently available entry and the tail pointer pointing to the remotely available entry; when a new data storage block is needed, the identifier of the data storage block in the currently available entry is obtained, the corresponding data storage block is used to store file data, a used flag is written to the currently available entry, and the head pointer is moved down one entry; when data storage blocks are erased or reclaimed, the identifier of each erased or reclaimed data storage block is written to the next entry in the remotely available entry of the data storage area management table, and the tail pointer is moved down one entry.

[0030] In this embodiment, the number of files that can be created = the number of file record pages - 1; each file dynamically occupies one file record page.

[0031] In the file record page management table, two words can be used to represent the usage status of a record page. The first word represents the identifier (or logical address) of the file record page, and the second word represents the usage status of the file record page. The initialization status of the second word (such as all FF) indicates that the file record page is ready for use, while other data indicates that the file record page is already in use.

[0032] To manage the file record page management table, a head and tail pointer of the file record page management table structure is set. After initialization, the head pointer points to the first file record page to be released, and the tail pointer points to the last file record page to be released.

[0033] When a file record page is released, the file record page pointed to by the head pointer is released, that is, a used flag is written to the flag word pointed to by the head pointer, and the head pointer is incremented by 1 to point to the next file record page to be released; when a file record page is erased and reclaimed, the tail pointer is incremented by 1, and the file record page identifier to be erased and reclaimed is written to the first word pointed to by the tail pointer.

[0034] The head and tail pointers of the file record page management table form a circular queue with a fixed space and a first-in-first-out (FIFO) operation. When the head and tail pointers are incremented by 1 to equal the maximum value of the queue, the queue is automatically adjusted to its minimum value. The length of the queue is set to be at least 1 greater than the number of file record pages.

[0035] When the remaining space of a file record page is insufficient to store the next record, a new file record page is created. After the new record is written, the previous file record page is erased and recycled for future use.

[0036] When a user program modifies the data in a specified data storage block of a file, the corresponding data storage block is erased and reclaimed, and a new data storage block is allocated accordingly. The unmodified data storage blocks remain unchanged. The identifiers of the unmodified data storage blocks and the newly allocated data storage blocks together form a space information record item for the new file data storage, indicating the storage space of the file data.

[0037] The data storage area management table is used to manage the storage space of system file data. It can also manage a data storage block using two words: the first word is the logical address of the data storage block, and the second word is a status word indicating the usage status of the data storage block, enabling the release and reclamation of data storage blocks. A certain amount of storage space forms a first-in, first-out circular queue, and head and tail pointers are set for the currently available data storage area management table. Its management and organization are similar to those of the file record page management table.

[0038] The above content is only for illustrating the technical concept of the present invention and should not be construed as limiting the scope of protection of the present invention. Any modifications made to the technical solution based on the technical concept proposed in this invention shall fall within the scope of protection of the claims of this invention.

Claims

1. A file data storage management method for a system-on-a-chip, characterized in that, include: Create a file record page area, which includes multiple file record pages; For each file, a file record page is used to store its control information, as well as the space information for storing file data allocated to it when it is created and each time data is written; a file record page management table is constructed to control the cyclic allocation and erasure reclamation of file record pages; a data storage area management table is constructed to control the cyclic allocation and erasure reclamation of data storage blocks in the data storage area. When a file is created, file record pages and file data storage space are allocated for the file, and file control information and data storage space information are recorded in the file record pages of the file; each time file data is written, the modified data storage blocks of the file are erased and reclaimed, new data storage blocks are allocated for the file to store the modified data, and the file data storage space information is reconstructed and recorded in the file record pages of the file; when a file is deleted, the file record pages and data storage blocks occupied by the file are erased and reclaimed. The aforementioned construction of a file record page management table, used to control the cyclic allocation and erasure / recycling of file record pages, specifically includes: A file record page management table is constructed, with each entry including the identifier of a file record page and its usage status. The file record page management table is contiguous. A head pointer and a tail pointer are set, with the head pointer pointing to the currently available entry and the tail pointer pointing to the farthest available entry. When a new file record page is needed, the identifier of the file record page in the currently available entry is retrieved, the corresponding file record page is used to record file control information and file data storage space information, a used flag is written to the currently available entry, and the head pointer is moved down one entry. When a file record page is erased or recycled, the identifier of the erased or recycled file record page is written to the next entry of the farthest available entry in the file record page management table, and the tail pointer is moved down one entry. The aforementioned data storage area management table, used to control the cyclic allocation and erasure / reclaim of storage blocks in the data storage area, specifically includes: A data storage area management table is constructed, with each entry including the identifier of a data storage block in the data storage area and the usage status of that data storage block; the data storage area management table is contiguous; a head pointer and a tail pointer are set, with the head pointer pointing to the currently available entry and the tail pointer pointing to the remotely available entry; when a new data storage block is needed, the identifier of the data storage block in the currently available entry is obtained, the corresponding data storage block is used to store file data, a used flag is written to the currently available entry, and the head pointer is moved down one entry; when data storage blocks are erased or reclaimed, the identifier of each erased or reclaimed data storage block is written to the next entry of the remotely available entry in the data storage area management table, and the tail pointer is moved down one entry. When writing file data, the file identifier is obtained, and the file record page area is searched to check if the file identifier exists. If it does not exist, the file data writing fails and the file data writing process exits. The file length information is read to determine if the length of the data to be written exceeds the storage boundary of the file data. If it does, the file data writing operation fails and the file data writing process exits; otherwise, the file data writing operation is initiated. The number of data storage blocks M to be modified is calculated based on the length of the file data to be written. In the data storage area management table, starting from the currently available entries, M entries are obtained, and a used flag is written into each entry. The head pointer of the data storage area management table is then moved down by M entries. Based on the data in the M entries... Based on the storage block identifier, write file data into the corresponding M data storage blocks, erase and reclaim the M data storage blocks where the file was replaced; create a new record entry in the file record page where the file identifier is located, and write the space information of the reallocated file data storage; if there is not enough space in the file record page where the file identifier is located to store the new record entry, write a used flag into the currently available entry of the file record page management table, copy the file identifier and file control information from the original file record page into the corresponding file record page according to the file record page identifier recorded in the table, create a new record entry, and write the space information of the reallocated file data storage; erase and reclaim the original file record page; During initialization, the file record page area and data storage area are erased to put them in a state waiting for data to be written. The identifier of each available file record page is written into the corresponding entry in the file record page management table in sequence. In the file record page management table, the first entry is set as the currently available entry and the last entry is set as the remote available entry. The head pointer of the file record page management table is set to the currently available entry and the tail pointer is set to the remote available entry. One or more empty entries are added after the remote available entry. Write the identifier of each available data storage block into the corresponding entry in the data storage area management table in sequence; in the entries of the data storage area management table that record the identifier of available data storage blocks, make the first entry its current available entry and the last entry its remote available entry, set the head pointer of the data storage area management table to the current available entry and the tail pointer to the remote available entry, and add one or more empty entries after the remote available entry.

2. The file data storage and management method according to claim 1, characterized in that: When creating a file, obtain the file identifier and file size, and search the file record page area and data storage area management table to check whether the file creation conditions are met; If the conditions for file creation are not met, file creation will fail and the file creation process will be exited. Otherwise, write a used flag into the currently available entry of the file record page management table. Based on the file record page identifier recorded in the entry, write the file identifier and file control information into the corresponding file record page, and move the head pointer of the file record page management table down one item. In the data storage area management table, start searching downwards from its currently available entry to obtain entries for N available storage blocks that match the file size space. Write the identifiers of the N available data storage blocks into the corresponding record entries of the file record page. Write the used flag into each of the N entries in sequence, and move the head pointer of the data storage area management table down N items, where N is a positive integer.

3. The file data storage and management method according to claim 1, characterized in that: When deleting a file, obtain the file identifier and search the file record page area to check if the file identifier exists. If it does not exist, the file deletion fails and the file deletion process exits. Otherwise, initiate a file deletion operation, and based on the identifier of the data storage block recorded in the last record entry of the file record page where the file identifier is located, sequentially erase and reclaim the corresponding data storage block; erase and reclaim the file record page where the file identifier is located.

4. The file data storage and management method according to claim 1, characterized in that: When reading file data, obtain the file identifier and search the file record page area to check if the file identifier exists. If it does not exist, the file data reading fails and the file data reading process exits. Read the file length information and determine if the length of the read data exceeds the storage boundary of the file data. If it exceeds the storage boundary of the file data, the file data reading fails and the file data reading process exits. Otherwise, start the file data reading operation and read the specified length of file data from the corresponding storage block according to the identifier of the data storage block recorded in the last record item of the file record page where the file identifier is located.

5. The file data storage and management method according to claim 3, characterized in that: When creating a file, the system checks whether the file creation conditions are met, including: searching for the file identifier in the file record page area; if it exists, the file creation conditions are not met; and checking the data storage area management table for storage space that meets the file size; if the storage space is insufficient, the file creation conditions are not met; otherwise, the file creation conditions are met.

6. A file data storage and management system for a system-on-a-chip, characterized in that: It includes a file record page area, a file record page management table, and a data storage area management table; the file record page area includes multiple file record pages, which are used to store the control information of each file, as well as the space information for file data storage allocated to it when the file is created and each time file data is written; The file record page management table is used to control the cyclic allocation and erasure / reclaiming of file record pages; the data storage area management table is used to control the cyclic allocation and erasure / reclaiming of data storage blocks. When a file is created, file record pages and file data storage space are allocated for the file, and file control information and file data storage space information are recorded in the file record pages of the file; each time file data is written, the modified data storage blocks of the file are erased and reclaimed, new data storage blocks are allocated for the file to store the modified data, and the file data storage space information is reconstructed and recorded in the file record pages of the file; when a file is deleted, the file record pages and data storage blocks occupied by the file are erased and reclaimed. Each entry in the file record page management table includes an identifier for a file record page and its usage status. The file record page management table is contiguous. A head pointer and a tail pointer are set, with the head pointer pointing to the currently available entry and the tail pointer pointing to the farthest available entry. When a new file record page is needed, the identifier of the file record page in the currently available entry is retrieved, the corresponding file record page is used to record file control information and file data storage space information, a used flag is written to the currently available entry, and the head pointer is moved down one entry. When a file record page is erased or recycled, the identifier of the erased or recycled file record page is written to the next entry in the file record page management table after the farthest available entry, and the tail pointer is moved down one entry. Each entry in the data storage area management table includes the identifier of a data storage block in the data storage area and the usage status of that data storage block; the data storage area management table is contiguous; a head pointer and a tail pointer are set, with the head pointer pointing to the currently available entry and the tail pointer pointing to the remotely available entry; when a new data storage block is needed, the identifier of the data storage block in the currently available entry is obtained, the corresponding data storage block is used to store file data, a used flag is written to the currently available entry, and the head pointer is moved down one entry; when data storage blocks are erased or reclaimed, the identifier of each erased or reclaimed data storage block is written to the next entry in the remotely available entry of the data storage area management table, and the tail pointer is moved down one entry. During initialization, the file record page area and data storage area are erased to put them in a state waiting for data to be written. The identifier of each available file record page is written into the corresponding entry in the file record page management table in sequence. In the file record page management table, the first entry is set as the currently available entry and the last entry is set as the remote available entry. The head pointer of the file record page management table is set to the currently available entry and the tail pointer is set to the remote available entry. One or more empty entries are added after the remote available entry. Write the identifier of each available data storage block into the corresponding entry in the data storage area management table in sequence; in the entries of the data storage area management table that record the identifier of the available data storage blocks, make the first entry its current available entry and the last entry its remote available entry; set the head pointer of the data storage area management table to the current available entry and the tail pointer to the remote available entry, and add one or more empty entries after the remote available entry. When writing file data, the file identifier is obtained, and the file record page area is searched to check if the file identifier exists. If it does not exist, the file data writing fails and the file data writing process exits. The file length information is read to determine if the length of the data to be written exceeds the storage boundary of the file data. If it does, the file data writing operation fails and the file data writing process exits; otherwise, the file data writing operation is initiated. The number of data storage blocks M to be modified is calculated based on the length of the file data to be written. In the data storage area management table, starting from the currently available entries, M entries are obtained, and a used flag is written into each entry. The head pointer of the data storage area management table is then moved down by M entries. Based on the data in the M entries... Based on the storage block identifier, write file data into the corresponding M data storage blocks, erase and reclaim the M data storage blocks whose files have been replaced; create a new record entry in the file record page where the file identifier is located, and write the space information of the reallocated file data storage; if there is not enough space in the file record page where the file identifier is located to store the new record entry, write a used flag into the currently available entry of the file record page management table, copy the file identifier and file control information from the original file record page into the corresponding file record page according to the file record page identifier recorded in the table, create a new record entry, and write the space information of the reallocated file data storage; erase and reclaim the original file record page.