Method of speeding up access to design databases having large numbers of design units
View Patent ↗A computer-implemented method is disclosed for speeding up database access of electronic design automation (EDA) tool which utilizes a database manager for file access. The EDA tool accesses a plurality of design files, and each of the plurality of design files is associated with one of a plurality of design units for an integrated circuit (IC). The plurality of design files are encapsulated into an archive file which comprises a plurality of data units, wherein each of the data units corresponds to a design file. A request to access a design file will be redirected to access the archive file. The design file is then accessed by accessing the corresponding data unit in the archive file.
1. A computer-implemented method for speeding up accesses by an EDA tool to integrated circuit design files from a design database for integrated circuits, the method comprising:
in response to receiving, by a processor and from the EDA tool, a first request to access a first integrated circuit design file from among a plurality of integrated circuit design files associated with the integrated circuit, the plurality of integrated circuit design files stored in a storage device,
redirecting, by the processor, the first request to read an archive file, the archive file comprising a plurality of data units wherein each data unit is representative of an integrated circuit design file of the plurality of integrated circuit design files stored in the storage device;
extracting, by the processor and to the storage device, only a first data unit from the archive file, the first data unit corresponding to the first integrated circuit design file, wherein said extracting further includes providing a symbolic link to the first integrated circuit design file in the storage device;
returning, by the processor and from the storage device, the first integrated circuit design file to the EDA tool; and
deleting, by the processor, the extracted first data unit from the storage device.
2. The computer-implemented method according to claim 1 , wherein an index table is used to specify the size and location for each of a plurality of data units in the archive file.
3. The computer-implemented method according to claim 1 , wherein said storage device is a hard disk.
4. The computer-implemented method according to claim 1 , wherein said storage device is a fast storage which includes a random access memory (RAM) disk or a solid state drive (SSD).
5. The computer-implemented method according to claim 1 , wherein a first set of functions is added to redirect said first request.
6. The computer-implemented method according to claim 2 , further comprising:
receiving, from the EDA tool, a second request to update a second integrated circuit design file from the plurality of integrated circuit design files;
redirecting said second request to the archive file to save a second data unit corresponding to the second integrated circuit design file into the archive file; and
saving said second data unit in the archive file.
7. The computer-implemented method according to claim 6 , wherein the index table is updated as a result of the size or location of said second data unit being changed.
8. The computer-implemented method according to claim 6 , wherein saving the second data unit comprises:
saving said second integrated circuit design file into a storage device; and
updating the second data unit according to said second integrated circuit design file.
9. The computer-implemented method according to claim 8 , wherein saving the second data unit further comprises:
deleting said second integrated circuit design file unit from said storage device.
10. The computer-implemented method according to claim 8 , wherein a second set of functions is added to redirect said second request.
11. The computer-implemented method according to claim 1 , wherein the first data unit in the archive file is compressed, and wherein returning the extracted first data unit from the storage device comprises decompressing the first data unit.
12. A non-transitory computer readable medium storing one or more programs for speeding up accesses by an EDA tool to integrated circuit design files from a design database for integrated circuits, said one or more programs comprising instructions, which when executed by a computer, cause the computer to:
in response to receiving, from the EDA tool, a request to access a first integrated circuit design file from among a plurality of integrated circuit design files associated with the integrated circuit, the plurality of integrated circuit design files stored in a storage device,
redirect the request to read an archive file, the archive file comprising a plurality of data units wherein each data unit is representative of an integrated circuit design file of the plurality of integrated circuit design files stored in the storage device;
extract, to the storage device, only a first data unit from the archive file, the first data unit corresponding to the first integrated circuit design file, wherein the extract includes a symbolic link to the first integrated circuit design file in the storage device;
return, from the storage device, the first integrated circuit design file to the EDA tool; and
delete the extracted first data unit from the storage device.