CN102193873B - Method of quickly reading and writing mass data file - Google Patents

Method of quickly reading and writing mass data file Download PDF

Info

Publication number
CN102193873B
CN102193873B CN2010101181294A CN201010118129A CN102193873B CN 102193873 B CN102193873 B CN 102193873B CN 2010101181294 A CN2010101181294 A CN 2010101181294A CN 201010118129 A CN201010118129 A CN 201010118129A CN 102193873 B CN102193873 B CN 102193873B
Authority
CN
China
Prior art keywords
data
page
memory
physical layout
memory page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2010101181294A
Other languages
Chinese (zh)
Other versions
CN102193873A (en
Inventor
吴玉平
陈岚
叶甜春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Microelectronics of CAS
Original Assignee
Institute of Microelectronics of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN2010101181294A priority Critical patent/CN102193873B/en
Publication of CN102193873A publication Critical patent/CN102193873A/en
Application granted granted Critical
Publication of CN102193873B publication Critical patent/CN102193873B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a method of quickly reading and writing a physics territory data, comprising the steps of classifying the data type of the physics territory data, applying storage page for data of different data types, storing the data of same type in the same storage page of a memory, and writing in all the data in the storage page to a hard disk one-time by utilizing the quick writing-in process from the storage page to the hard disk. By the method of quickly reading and writing a physics territory data of the invention, the concrete data type, concrete data unit and reconstruction of the concrete data unit require no concern, the reconstructions one by one of all data are avoided, the reading and writing speeds are improved, and the quick reading and writing of the mass integrated circuit physical layout data between the computer memorizer and the hard disk is realized.

Description

The method of fast reading and writing physical layout data
Technical field
The present invention relates to electric design automation (EDA) field, particularly a kind of method of fast reading and writing physical layout data.
Background technology
The physical layout data file is the file of data volume maximum in system integrated circuit chip (SOC) design, the large small-scale of the physical layout data file of present existing SOC circuit is in several GB to tens GB magnitudes, along with the development of integrated circuit technology and the continuous progress of designing technique, the physical layout data scale of SOC circuit will reach the magnitude of a hundreds of GB.
In the SOC design cycle, comparatively frequent to the read-write of physical layout data: physical synthesis need to write out physical layout data; Physical layout data need to be read and write out to physical layout optimization; Drc-need to read physical layout data; Parasitic parameter extraction need to read physical layout data; Circuit diagram and physical layout consistency check (LVS) need to be read physical layout data; Manufacturability design optimization (DFM) need to read physical layout data.
Traditional data I/O mode is based on minimum master data unit to carry out, and need to construct one by one each master data unit in calculator memory.Data with traditional data I/O mode read-write physical layout data file scale, once just need dozens of minutes even tens hours, and in design cycle, especially in the rear end of design cycle, need to read continually the data of scale like this, this makes the physical layout data input and output of magnanimity scale become an important bottleneck in the integrated circuit (IC) design process.
Summary of the invention
One of purpose of the present invention is to provide a kind of method of fast reading and writing physical layout data, is used in the integrated circuit (IC) design process, improves the efficient of the physical layout data input and output of magnanimity scale.
Embodiments of the invention provide a kind of method of fast reading and writing physical layout data, comprising:
Data type to physical layout data is classified, the foundation of described Data classification is the content of physical layout data, its byte number that takies storage space of the physical layout data of same type is identical, thereby the physical layout data of different memory lengths is separately stored;
Be the data application memory page of different types of data, the memory page of described application is the memory page in computer system memory, and the memory page size of the physical layout data of all data types is identical; The memory page of described physical layout data comprises top margin and page core, described top margin is stored the interior management information of page of this page, the data unit of described at least one the type of page core Coutinuous store, and a memory page is only stored the data of same type at the page core segment;
Store the data of same type in internal memory same memory page, utilize memory page to arrive the no write de-lay of hard disk, the total data in memory page is write hard disk once.
The present invention stores same memory page in internal memory into by the physical layout data with same type, and the size of all physical layout data memory pages is identical, can simplify and accelerate establishment, importing and the derivation of memory page, and the size of memory page is the calculator memory page size, can reduce memory fragmentation like this, improve the internal memory service efficiency.When the content of memory page was write hard disk, which concrete data type was the data of ignoring in internal memory on concrete memory location belong to and occupy how many data units, but the mirror image data of this memory page write the corresponding document of hard disk; When the physical layout data in hard disk was read in internal memory, the data image of the memory page had obtained reservation in the hard disc data file, and the data that again read back into the memory page have kept original position in memory page separately.Thereby need not to pay close attention to concrete data type and concrete data unit and the specifically reconstruct of data unit, avoided the reconstruct one by one of total data, improve read or write speed, realized fast reading and writing magnanimity physical layout of integrated circuit data between computer memory and hard disk.
Description of drawings
Fig. 1 is the method flow diagram of the fast reading and writing physical layout data that provides of the embodiment of the present invention;
Fig. 2 is the structural drawing of physical layout data memory page in the embodiment of the present invention;
Fig. 3 is for the schematic diagram of physical layout data application memory page in the embodiment of the present invention;
Fig. 4 in the embodiment of the present invention writes the physical layout data memory page schematic diagram of hard disk;
Fig. 5 reads in the schematic diagram of memory page mirror image from the hard disc data file to the internal memory memory page in the embodiment of the present invention.
Embodiment
Technical scheme of the present invention can be applicable in the automated software of the integrated circuit (IC) design such as physical synthesis, physical verification, parasitic parameter extraction, the extra large physical layout data file that produces in the fast reading and writing integrated circuit (IC) design between computer memory and hard disk can be avoided the design bottleneck that the magnanimity physical layout data input and output in the integrated circuit (IC) design process bring effectively.
For making the purpose, technical solutions and advantages of the present invention clearer, the present invention is described in further detail below in conjunction with accompanying drawing.
Fig. 1 is the method flow diagram of the fast reading and writing physical layout data that provides of the present embodiment, comprises the following steps:
Step 101, the data type of physical layout data is classified.The foundation of physical layout data classification is the content of physical layout data, and the byte number of its storage space of physical layout data of same type is identical, is separately storage of physical layout data with different memory lengths according to the purpose of classification of type.
Illustrate, data type can be divided into LibHeaderRecord, CellNameRecord, LibCatalogRecord, ChangeNameRecord, CellHeaderRecord, PropertySetRecord, DisplayPropRecord, PropertyRecord, RectangleRecord, GdsRectRecord, ValueRectangleRecord, ViaRecord, ViaArrayRecord, OffsetViaArrayRecord, PolyRecord, PathRecord, WireRecord etc., but be not limited only to these, can further increase according to practical application.The below is the definition to Poly, Path, Wire categorical data:
Figure GDA00002914664300041
Step 102, be the physical layout data application memory page of different types of data, the memory page in the corresponding computer system memory of this memory page.The memory page size of the physical layout data of all data types is identical, physical layout data memory page such as Fig. 2.
The physical layout data memory page is divided into top margin and page core two parts, and top margin is stored management information in the pages such as the sequence number of this page, the data type of the page, the length of the type data, the first address of actual storage categorical data; The data unit of the some the type of page core storage.The physical layout data memory page of all data types big or small identical, this memory page are divided into the fixing top margin in information position and the page core of information position changeable: top margin part management information; Page core segment Coutinuous store data unit.A memory page is only stored the data of same type at the page core segment, and records some data units.After the application physical memory space, the management information of need to the fixed position in top margin filling in this page, comprising demarcating page properties at the place, fixed position, and according to the first address of actual storage categorical data and storage address that the required byte number of the type data calculates the storage space of each data unit, therefore need to carry out secondary to memory page inside and divide, as Fig. 3.Address offset amount between page core segment adjacent data unit is the byte number of data, and in the relative page of page core first byte, its address offset amount of first byte is fixed, and namely the size of top margin is fixed.
The data structure of physical layout data memory page is as follows:
Figure GDA00002914664300051
In following structure, a byte is top margin from m_pageID to m_cellID10, and m_pageData later on namely follow-up 8192-10=8182 byte beginning of the 11st byte in the page be a page core, in the relative page of page core first byte, its address offset amount of first byte is that shared storage space determines from m_pageID to m_cellID, in this example, interior its address offset amount of first byte of the relative page of page core first byte is 10, the place value of m_flags is demarcated page properties, the physical layout data of the type of storage appointment.Need to prove that the top margin of giving an example is only used for explanation here, practical application and when realizing the content of top margin can change to some extent as required.
The size of all physical layout memory pages is identical, to simplify and to accelerate establishment, importing and the derivation of memory page.The size of memory page is consistent with the page size of operating system appointment, is 8192 bytes as the size of the page on LINUX.
Step 103, store the data of same type in internal memory same memory page.In computer-internal, need to construct the page by application, because all memory pages is big or small identical, it is by operating system application storage space the time, the storage size that application is arrived is also identical, its value can reduce memory fragmentation like this for the calculator memory page size, improves the internal memory service efficiency.
After obtaining corresponding memory space, for the physical layout data memory page, need the sequence number of this page, the data type of the page, the length of the type data, the information such as first address of actual storage categorical data are write top margin, and the page core reference position of fixing in the position, according to the particular type of this page stored data and the size that takes up space thereof, the page core is subdivided into the storage cell of the some data of the same type of storage, calculates the address of storage data unit.In the data structure of aforesaid physical layout data memory page, a byte is top margin from m_pageID to m_cellID10, and m_pageData later on namely follow-up 8192-10=8182 byte beginning of the 11st byte in the page be a page core, in the relative page of page core first byte, its address offset amount of first byte is that shared storage space determines from m_pageID to m_cellID, in this example, interior its address offset amount of first byte of the relative page of page core first byte is 10, the physical layout data of the type of storage appointment.First physical data element address is page first byte address+10 in memory page, second physical data element address is the size of the physical data unit of page first byte address+10+SIZEOF(the type), N physical data element address is the size of the physical data unit of page first byte address+10+SIZEOF(the type) * (N-1).
Step 104, utilize memory page to arrive the no write de-lay of hard disk, the whole physical layout datas in memory page are write hard disk once.When the content of memory page was write hard disk, which concrete data type was the data of ignoring in internal memory on concrete memory location belong to and occupy how many data units, but the mirror image data of this memory page write the corresponding document of hard disk.Fig. 4 writes the physical layout data memory page schematic diagram of hard disk.Take the C/C++ program as example, with fwrite (buffer, size, count, fp) function with the disposable hard disk that writes of the total data on whole memory page.Buffer is the first address of the page; Size is 1, and the base unit of indicating to write is 1 byte; The base unit number of count for writing, the byte number that comprises for memory page in the present embodiment; Fp is the pointer of physical layout data file of output, is to open according to the specified file name by the fopen function before written document or resulting file pointer when creating data file, and this pointer is used for writing data to specified file).
Step 105, the hard disc data of certain-length is read into once the memory page of internal memory, thereby realizes disposable the reading in of some physical layout datas in original memory page.When physical layout data was read into internal memory from hard disk, the memory page of application fixed size, read in this memory page with the memory page mirror image in the physical layout data file in hard disk before each reads in operation.Take the C/C++ program as example, with fread (buffer, size, count, fp) the function information that will be stored in regular length on some sectors is read into this memory page, and buffer is the first address of the page, and size is 1 byte, count is the byte number of the page, and fp is the pointer of the physical layout data file of output.Then, data value (flag byte according to the memory page fixed position, determined the definition when specifically how to identify the stored data type and depending on actual the realization by the place value of the m_flags in aforementioned page structure Page) automatic distinguishing physical layout data memory page.Because the data image of the memory page has obtained reservation in the hard disc data file, the data that again read back into the memory page have kept original position in memory page separately, have avoided the reconstruct one by one of total data.At last, the address of calculating the storage space of each data unit according to the first address of the length of the data type of the sequence number of the page of storing in top margin, the page, the type data, actual storage categorical data is so that down-stream is to the access of these data.
Fig. 5 is for reading in the memory page mirror image, automatic structural physical layout data memory page from the hard disc data file to the internal memory memory page.
What specify is, the data type that the present embodiment is listed, the content of top margin etc. is only to invent method in one's power for explanation, and according to realization and the application of reality, data type, top margin etc. can increase as required or reduce.
In a word, the above is only preferred embodiment of the present invention, is not for limiting protection scope of the present invention.

Claims (5)

1. the method for a fast reading and writing physical layout data, is characterized in that, comprising:
Data type to physical layout data is classified, the foundation of described Data classification is the content of physical layout data, its byte number that takies storage space of the physical layout data of same type is identical, thereby the physical layout data of different memory lengths is separately stored;
Be the data application memory page of different types of data, the memory page of described application is the memory page in computer system memory, and the memory page size of the physical layout data of all data types is identical; The memory page of described physical layout data comprises top margin and page core, described top margin is stored the interior management information of page of this page, the data unit of described at least one the type of page core Coutinuous store, and a memory page is only stored the data of same type at the page core segment;
Store the data of same type in internal memory same memory page, utilize memory page to arrive the no write de-lay of hard disk, the total data in memory page is write hard disk once.
2. method according to claim 1, is characterized in that, the method further comprises:
Physical layout data in the hard disk of certain-length is read into once the memory page of internal memory.
3. method according to claim 2, it is characterized in that, when applying for after the physical memory space, fixed position in described top margin fill in this page the page in management information, and according to the address that first address and required byte number of the type data of storage of actual storage categorical data are divided the storage space of each data unit, write the type physical layout data in the relevant position of page core.
4. method according to claim 3, is characterized in that, in described page, management information specifically comprises: the length of the sequence number of the page, the data type of the page, the type data and the first address of actual storage categorical data.
5. method according to claim 4, is characterized in that, the described memory page that physical layout data in hard disk is read into internal memory specifically comprises:
When physical layout data was read into internal memory from hard disk, the memory page of application fixed size, read in this memory page with the memory page mirror image in the physical layout data file in hard disk before each reads in operation.
CN2010101181294A 2010-03-04 2010-03-04 Method of quickly reading and writing mass data file Active CN102193873B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101181294A CN102193873B (en) 2010-03-04 2010-03-04 Method of quickly reading and writing mass data file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101181294A CN102193873B (en) 2010-03-04 2010-03-04 Method of quickly reading and writing mass data file

Publications (2)

Publication Number Publication Date
CN102193873A CN102193873A (en) 2011-09-21
CN102193873B true CN102193873B (en) 2013-06-05

Family

ID=44601968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101181294A Active CN102193873B (en) 2010-03-04 2010-03-04 Method of quickly reading and writing mass data file

Country Status (1)

Country Link
CN (1) CN102193873B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402622B (en) * 2011-12-27 2015-09-09 北京人大金仓信息技术股份有限公司 The managing memory pages dispatching method of Embedded Main Memory Database
CN103488578B (en) * 2012-12-28 2016-05-25 晶天电子(深圳)有限公司 Virtual memory facilities (VMD) application/driver
CN110543456B (en) * 2019-09-06 2022-02-22 北京华大九天科技股份有限公司 Method and device for quickly reading oasis file and computer readable storage medium
CN111562983B (en) * 2020-04-30 2023-01-06 Oppo(重庆)智能科技有限公司 Memory optimization method and device, electronic equipment and storage medium
CN114489475A (en) * 2021-12-01 2022-05-13 阿里巴巴(中国)有限公司 Distributed storage system and data storage method thereof
CN114168085B (en) * 2021-12-16 2024-02-20 潍柴动力股份有限公司 Variable processing method, device, equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101533408A (en) * 2009-04-21 2009-09-16 北京四维图新科技股份有限公司 Processing method and processing device of mass data
CN101593220A (en) * 2008-05-28 2009-12-02 北京华大九天软件有限公司 A kind of management method of very large scale integrated circuit layout data
CN101639848A (en) * 2009-06-01 2010-02-03 北京四维图新科技股份有限公司 Spatial data engine and method applying management spatial data thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593220A (en) * 2008-05-28 2009-12-02 北京华大九天软件有限公司 A kind of management method of very large scale integrated circuit layout data
CN101533408A (en) * 2009-04-21 2009-09-16 北京四维图新科技股份有限公司 Processing method and processing device of mass data
CN101639848A (en) * 2009-06-01 2010-02-03 北京四维图新科技股份有限公司 Spatial data engine and method applying management spatial data thereof

Also Published As

Publication number Publication date
CN102193873A (en) 2011-09-21

Similar Documents

Publication Publication Date Title
CN102193873B (en) Method of quickly reading and writing mass data file
CN102508784B (en) Data storage method of flash memory card in video monitoring equipment, and system thereof
CN102301349B (en) Accessing stripping rows of data in storage chips controlled by storage controller
US11132300B2 (en) Memory hierarchy using page-based compression
US8996981B2 (en) Managing forms in electronic documents
CN101533408B (en) Processing method and processing device of mass data
CN102158349B (en) A kind of log management apparatus and method
CN107045531A (en) A kind of system and method for optimization HDFS small documents access
CN102799679B (en) Hadoop-based massive spatial data indexing updating system and method
US9477605B2 (en) Memory hierarchy using row-based compression
CN101968795A (en) Cache method for file system with changeable data block length
CN102169460A (en) Method and device for managing variable length data
CN105573711B (en) A kind of data cache method and device
CN107729504A (en) A kind of method and system for handling large data objectses
CN103309619A (en) NAND Flash memory data storage method
CN110515900A (en) A kind of storage file structure of electric power three-dimensional data
CN102722456A (en) Flash memory device and data writing method thereof
CN104715070A (en) Large image file as well as generation and read method thereof
CN104408097A (en) Hybrid indexing method and system based on character field hot update
CN105095352B (en) Data processing method and device applied to distributed system
CN102270179B (en) For the data Storage and Processing method based on sheet unit and the system thereof of CAD system
CN106873917A (en) A kind of object storage system based on disk
CN110928910B (en) Method and device for reading and writing vector elements in Shapfile at high speed
CN111788552B (en) System and method for low latency hardware memory
CN108776578B (en) Method and system for rapidly merging objects

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant