CN116009771A - TRIM performance improving method and device for DRAM-less solid state disk - Google Patents

TRIM performance improving method and device for DRAM-less solid state disk Download PDF

Info

Publication number
CN116009771A
CN116009771A CN202211586878.9A CN202211586878A CN116009771A CN 116009771 A CN116009771 A CN 116009771A CN 202211586878 A CN202211586878 A CN 202211586878A CN 116009771 A CN116009771 A CN 116009771A
Authority
CN
China
Prior art keywords
trim
lba
data buffer
hmb
dram
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.)
Pending
Application number
CN202211586878.9A
Other languages
Chinese (zh)
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.)
Suzhou Yilian Information System Co Ltd
Original Assignee
Suzhou Yilian Information System Co Ltd
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 Suzhou Yilian Information System Co Ltd filed Critical Suzhou Yilian Information System Co Ltd
Priority to CN202211586878.9A priority Critical patent/CN116009771A/en
Publication of CN116009771A publication Critical patent/CN116009771A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The application relates to a method, a device, computer equipment and a storage medium for improving TRIM performance of a DRAM-less solid state disk, wherein the method comprises the following steps: when a TRIM task request issued by a system is obtained, applying a section of continuous storage space to the HMB; initializing an HMB space after the application is successful, and preferentially using the applied HMB space as a data Buffer of the TRIM LBA by the TRIM task; the TRIM LBA uses the applied data Buffer to read batch pages, and invalid data is set according to the TRIM LBA after the data are read; and writing NAND according to the page, and releasing the data Buffer after the page is successfully written. The invention can improve the performance of processing the TRIM LBA simultaneously.

Description

TRIM performance improving method and device for DRAM-less solid state disk
Technical Field
The invention relates to the technical field of solid state disks, in particular to a method and a device for improving TRIM performance of a DRAM-less solid state disk, computer equipment and a storage medium.
Background
As SSD (Solid State Drive, solid state disk) is increasingly widely used in various applications, the demand for DRAM-less type SSD is also increasing, and the smaller the DRAM capacity a user needs to have in an entry level or in a specific system, the better, even without including DRAM.
However, as the SSD reduces the DRAM or does not configure the DRAM, the overall system memory available for the SSD firmware to run is limited, so the system memory available for allocating each function is also very limited, and particularly, a system such as a TRIM task does not substantially allocate RAM space, so the execution efficiency is greatly affected in the TRIM LBA scenario.
Disclosure of Invention
Based on this, it is necessary to provide a method, a device, a computer device and a storage medium for improving the TRIM performance of a DRAM-less solid state disk.
A DRAM-less solid state disk TRIM performance improving method comprises the following steps:
when a TRIM task request issued by a system is obtained, applying a section of continuous storage space to the HMB;
initializing an HMB space after the application is successful, and preferentially using the applied HMB space as a data Buffer of the TRIM LBA by the TRIM task;
the TRIM LBA uses the applied data Buffer to read batch pages, and invalid data is set according to the TRIM LBA after the data are read;
and writing NAND according to the page, and releasing the data Buffer after the page is successfully written.
In one embodiment, after the step of reading the batch pages by using the data Buffer applied by the TRIM LBA to set invalid data according to the TRIM LBA, the method further includes:
judging whether page writing conditions are met, if yes, writing new data into the NAND, and if not, continuing to use the data Buffer for batch page reading.
In one embodiment, after the step of writing the NAND according to the page and releasing the data Buffer after the writing is successful, the method further includes:
judging whether the TRIM LBA is processed completely, if so, exiting the TRIM processing, and if not, continuing to read the batch pages by using the applied data Buffer.
In one embodiment, after the step of applying a continuous storage space to the HMB when the TRIM task request issued by the system is obtained, the method further includes:
if the application of HMB space resources fails, the SSD built-in RAM is used as a data Buffer of the TRIM LBA.
A DRAM-less solid state disk TRIM performance improving device, DRAM-less solid state disk TRIM performance improving device includes:
the application module is used for applying a section of continuous storage space to the HMB when a TRIM task request issued by the system is acquired;
the initialization module is used for initializing the HMB space after the application is successful, and the TRIM task preferentially uses the applied HMB space as a data cache Buffer of the TRIM LBA;
the reading module is used for reading batch pages by the data Buffer applied by the TRIM LBA, and setting invalid data according to the TRIM LBA after reading the data;
and the writing module is used for writing the NAND according to the page, and releasing the applied data Buffer after the writing is successful.
In one embodiment, the apparatus further includes a first determining module, where the first determining module is configured to:
judging whether page writing conditions are met, if yes, writing new data into the NAND, and if not, continuing to use the data Buffer for batch page reading.
In one embodiment, the apparatus further includes a second determining module, where the second determining module is configured to:
judging whether the TRIM LBA is processed completely, if so, exiting the TRIM processing, and if not, continuing to read the batch pages by using the applied data Buffer.
In one embodiment, the application module is further configured to:
if the application of HMB space resources fails, the SSD built-in RAM is used as a data Buffer of the TRIM LBA.
A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps of any one of the methods described above when the computer program is executed.
A computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of any of the methods described above.
According to the method, the device, the computer equipment and the storage medium for improving the TRIM performance of the DRAM-less solid state disk, when a TRIM task request issued by a system is obtained, a section of continuous storage space is applied to the HMB; initializing an HMB space after the application is successful, and preferentially using the applied HMB space as a data Buffer of the TRIM LBA by the TRIM task; the TRIM LBA uses the applied data Buffer to read batch pages, and invalid data is set according to the TRIM LBA after the data are read; and writing NAND according to the page, and releasing the data Buffer after the page is successfully written. Because the HMB space is sufficient relative to the RAM space of the DRAM-less solid state disk, the buffer using the HMB as the TRIM function can reduce the influence of the memory space on the TRIM function execution efficiency of the DRAM-less solid state disk, and further, the performance of processing the TRIM LBA simultaneously can be improved.
Drawings
FIG. 1 is a schematic flow chart of a TRIM performance enhancement method for a DRAM-less solid state disk in one embodiment;
FIG. 2 is a flowchart of a TRIM performance enhancement method for a DRAM-less solid state disk in another embodiment;
FIG. 3 is a flowchart illustrating a TRIM performance enhancement method for a DRAM-less solid state disk according to another embodiment;
FIG. 4 is a block diagram illustrating a TRIM performance enhancement device for a DRAM-less solid state disk in one embodiment;
FIG. 5 is a block diagram illustrating a TRIM performance enhancement device for a DRAM-less solid state disk in another embodiment;
FIG. 6 is a block diagram illustrating a TRIM performance enhancement device for a DRAM-less solid state disk in accordance with yet another embodiment;
fig. 7 is an internal structural diagram of a computer device in one embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be further described in detail with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the present application.
At present, as the SSD reduces the DRAM or does not configure the DRAM, the overall system memory available for the SSD firmware during operation is limited, so that the system memory available for each function is also very limited, and particularly, the system such as the TRIM task does not basically allocate RAM space, so that the execution efficiency is greatly affected in the TRIM LBA scenario.
Based on the method, the invention provides a TRIM performance improving method for a DRAM-less solid state disk, and aims to improve the execution efficiency in a TRIM LBA scene.
In one embodiment, as shown in fig. 1, a method for improving the TRIM performance of a DRAM-less solid state disk is provided, where the method includes:
step 102, applying a section of continuous storage space to the HMB when a TRIM task request issued by the system is obtained;
step 104, initializing an HMB space after the application is successful, and preferentially using the applied HMB space as a data Buffer of the TRIM LBA by the TRIM task;
step 106, the TRIM LBA uses the applied data Buffer to read the batch pages, and sets invalid data according to the TRIM LBA after reading the data;
and step 108, writing NAND according to page, and releasing the applied data Buffer after the writing is successful.
In this embodiment, a method for improving the TRIM performance of a DRAM-less solid state disk is provided, where HMB (Host Memory Buffer ) space is used as Buffer during the TRIM function of the solid state disk, so as to improve the TRIM performance of the DRAM-less solid state disk.
Firstly, when a TRIM task request issued by a system is obtained, a section of continuous storage space is applied to the HMB, the HMB space is initialized after the application is successful, and the TRIM task preferentially uses the applied HMB space as a data Buffer of the TRIM LBA.
In one embodiment, after the step of applying a continuous storage space to the HMB when the TRIM task request issued by the system is obtained, the method further includes: if the application of HMB space resources fails, the SSD built-in RAM is used as a data Buffer of the TRIM LBA.
Specifically, when the solid state disk TRIM LBA starts, a section of continuous storage space is applied to the HMB. If the application is successful, the TRIM task uses the HMB as a data Buffer, and if the application is failed, the solid state disk RAM space is still used. HMB space (sufficient allocatable space can be allocated to the solid state disk TRIM task to improve the performance of batch processing of TRIM LBAs) can be preferentially used by the solid state disk TRIM task, so that the dependence on the solid state disk RAM space is reduced, the aim of improving efficiency is achieved, and the solid state disk RAM space is used as an alternative to ensure that the solid state disk RAM task has certain available memory space, so that normal running is ensured.
And then, the TRIM LBA uses the applied data Buffer to read the batch pages, and sets invalid data according to the TRIM LBA after reading the data. Then, NAND is written in pages. And finally, releasing the data Buffer after the writing is successful.
Specifically, when the system issues an SSD TRIM request, for a large number of TRIM LBAs, the portion of data needs to be read out from the NAND first, and then the corresponding LBA portion of data is set to be invalid.
In the above embodiment, when a TRIM task request issued by the system is obtained, a section of continuous storage space is applied to the HMB; initializing an HMB space after the application is successful, and preferentially using the applied HMB space as a data Buffer of the TRIM LBA by the TRIM task; the TRIM LBA uses the applied data Buffer to read batch pages, and invalid data is set according to the TRIM LBA after the data are read; and writing NAND according to the page, and releasing the data Buffer after the page is successfully written. Because the HMB space is sufficient relative to the RAM space of the DRAM-less solid state disk, the buffer using the HMB as the TRIM function can reduce the influence of the memory space on the TRIM function execution efficiency of the DRAM-less solid state disk, and further, the performance of processing the TRIM LBA simultaneously can be improved.
In one embodiment, as shown in fig. 2, a method for improving TRIM performance of a DRAM-less solid state disk is provided, where the method further includes, after reading data and setting invalid data according to TRIM LBA, after the step of using a data Buffer applied by TRIM LBA to read a batch of pages:
step 202, judging whether page writing conditions are met, if yes, writing new data into NAND, and if not, continuing to use the data Buffer of the application to read the batch of pages;
step 204, writing NAND according to page, and releasing the applied data Buffer after the writing is successful;
step 206, determining whether the TRIM LBA is processed, if so, exiting TRIM processing, and if not, continuing to use the applied data Buffer to read the batch pages.
Specifically, reference may be made to a method for improving the TRIM performance of a DRAM-less solid state disk as shown in fig. 3, where the method specifically includes the following steps:
firstly, when a TRIM task starts, a TRIM LBA data Buffer resource needs to be applied, and an HMB space is preferentially applied as the TRIM LBA data Buffer.
And then judging whether the application is successful or not, if the application of the HMB space resource fails, using an SSD built-in RAM as a TRIM LBA data cache Buffer. And the TRIM LBAs are used for reading batch pages by using the Buffer, invalid data are set according to the TRIM LBAs after data are read, NAND is written according to the pages, and the applied data Buffer resources are released after the writing is successful.
In this embodiment, the HMB space is sufficient compared with the RAM space of the DRAM-less solid state disk, and the use of HMB as the buffer of the TRIM function can reduce the influence of the memory space on the TRIM function execution efficiency of the DRAM-less solid state disk.
It should be understood that, although the steps in the flowcharts of fig. 1-3 are shown in order as indicated by the arrows, these steps are not necessarily performed in order as indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in fig. 1-3 may include multiple sub-steps or phases that are not necessarily performed at the same time, but may be performed at different times, nor does the order in which the sub-steps or phases are performed necessarily occur sequentially, but may be performed alternately or alternately with at least a portion of the sub-steps or phases of other steps or other steps.
In one embodiment, as shown in fig. 4, there is provided a TRIM performance enhancing apparatus 400 for a DRAM-less solid state disk, the apparatus comprising:
the application module 401 is configured to apply a section of continuous storage space to the HMB when a TRIM task request issued by the system is acquired;
an initialization module 402, configured to initialize an HMB space after the application is successful, where the TRIM task preferentially uses the applied HMB space as a data Buffer of the TRIM LBA;
the reading module 403, configured to read a batch of pages by using a data Buffer applied by the TRIM LBA, and set invalid data according to the TRIM LBA after reading the data;
and the writing module 404 is used for writing the NAND according to the page, and releasing the applied data Buffer after the writing is successful.
In one embodiment, as shown in fig. 5, there is provided a TRIM performance enhancing apparatus 400 for a DRAM-less solid state disk, the apparatus further includes a first determining module 405, where the first determining module is configured to:
judging whether page writing conditions are met, if yes, writing new data into the NAND, and if not, continuing to use the data Buffer for batch page reading.
In one embodiment, as shown in fig. 6, there is provided a TRIM performance enhancing apparatus 400 for a DRAM-less solid state disk, where the apparatus further includes a second determining module 406, where the second determining module is configured to:
judging whether the TRIM LBA is processed completely, if so, exiting the TRIM processing, and if not, continuing to read the batch pages by using the applied data Buffer.
In one embodiment, the application module 401 is further configured to:
if the application of HMB space resources fails, the SSD built-in RAM is used as a data Buffer of the TRIM LBA.
The specific limitation of the TRIM performance enhancing device for the DRAM-less solid state disk can be referred to the limitation of the TRIM performance enhancing method for the DRAM-less solid state disk, and is not repeated herein.
In one embodiment, a computer device is provided, the internal structure of which may be as shown in FIG. 7. The computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to realize a TRIM performance improvement method of a DRAM-less solid state disk.
It will be appreciated by those skilled in the art that the structure shown in fig. 7 is merely a block diagram of some of the structures associated with the present application and is not limiting of the computer device to which the present application may be applied, and that a particular computer device may include more or fewer components than shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is provided that includes a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the steps in the method embodiments above when executing the computer program.
In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored which, when executed by a processor, carries out the steps of the above method embodiments.
Those skilled in the art will appreciate that implementing all or part of the above described embodiment methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed may comprise the steps of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the various embodiments provided herein may include non-volatile and/or volatile memory. The nonvolatile memory can include Read Only Memory (ROM), programmable ROM (PROM), electrically Programmable ROM (EPROM), electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), memory bus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), among others.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above examples merely represent a few embodiments of the present application, which are described in more detail and are not to be construed as limiting the scope of the invention. It should be noted that it would be apparent to those skilled in the art that various modifications and improvements could be made without departing from the spirit of the present application, which would be within the scope of the present application. Accordingly, the scope of protection of the present application is to be determined by the claims appended hereto.

Claims (10)

1. A DRAM-less solid state disk TRIM performance improving method comprises the following steps:
when a TRIM task request issued by a system is obtained, applying a section of continuous storage space to the HMB;
initializing an HMB space after the application is successful, and preferentially using the applied HMB space as a data Buffer of the TRIM LBA by the TRIM task;
the TRIM LBA uses the applied data Buffer to read batch pages, and invalid data is set according to the TRIM LBA after the data are read;
and writing NAND according to the page, and releasing the data Buffer after the page is successfully written.
2. The method for improving TRIM performance of a DRAM-less solid state disk according to claim 1, wherein after the step of setting invalid data according to TRIM LBA after reading data, performing batch page reading by using a data Buffer applied by TRIM LBA, further comprises:
judging whether page writing conditions are met, if yes, writing new data into the NAND, and if not, continuing to use the data Buffer for batch page reading.
3. The method for improving the TRIM performance of a DRAM-less solid state disk according to claim 2, further comprising, after the step of writing NAND according to page, releasing the applied data Buffer after the writing is successful:
judging whether the TRIM LBA is processed completely, if so, exiting the TRIM processing, and if not, continuing to read the batch pages by using the applied data Buffer.
4. The method for improving TRIM performance of a DRAM-less solid state hard disk according to any one of claims 1-3, further comprising, after the step of applying a continuous storage space to HMB when a TRIM task request issued by a system is obtained:
if the application of HMB space resources fails, the SSD built-in RAM is used as a data Buffer of the TRIM LBA.
5. The TRIM performance improving device for the DRAM-less solid state disk is characterized by comprising:
the application module is used for applying a section of continuous storage space to the HMB when a TRIM task request issued by the system is acquired;
the initialization module is used for initializing the HMB space after the application is successful, and the TRIM task preferentially uses the applied HMB space as a data cache Buffer of the TRIM LBA;
the reading module is used for reading batch pages by the data Buffer applied by the TRIM LBA, and setting invalid data according to the TRIM LBA after reading the data;
and the writing module is used for writing the NAND according to the page, and releasing the applied data Buffer after the writing is successful.
6. The DRAM-less solid state disk TRIM performance enhancement device of claim 5, further comprising a first determination module configured to:
judging whether page writing conditions are met, if yes, writing new data into the NAND, and if not, continuing to use the data Buffer for batch page reading.
7. The DRAM-less solid state disk TRIM performance enhancement device of claim 6, further comprising a second determination module configured to:
judging whether the TRIM LBA is processed completely, if so, exiting the TRIM processing, and if not, continuing to read the batch pages by using the applied data Buffer.
8. The DRAM-less solid state disk TRIM performance enhancing apparatus of any one of claims 5-7, wherein the application module is further configured to:
if the application of HMB space resources fails, the SSD built-in RAM is used as a data Buffer of the TRIM LBA.
9. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the method according to any one of claims 1 to 4 when the computer program is executed.
10. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 4.
CN202211586878.9A 2022-12-09 2022-12-09 TRIM performance improving method and device for DRAM-less solid state disk Pending CN116009771A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211586878.9A CN116009771A (en) 2022-12-09 2022-12-09 TRIM performance improving method and device for DRAM-less solid state disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211586878.9A CN116009771A (en) 2022-12-09 2022-12-09 TRIM performance improving method and device for DRAM-less solid state disk

Publications (1)

Publication Number Publication Date
CN116009771A true CN116009771A (en) 2023-04-25

Family

ID=86023895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211586878.9A Pending CN116009771A (en) 2022-12-09 2022-12-09 TRIM performance improving method and device for DRAM-less solid state disk

Country Status (1)

Country Link
CN (1) CN116009771A (en)

Similar Documents

Publication Publication Date Title
US20160306588A1 (en) Solid state disk and data moving method
CN110297603B (en) Method and device for improving random writing performance based on solid state disk and computer equipment
US10891150B2 (en) Storage control method and storage controller for user individual service environment
CN114253483B (en) Command-based write cache management method and device, computer equipment and storage medium
CN114168225B (en) Method, device, computer equipment and storage medium for updating solid state disk mapping table in delayed mode
CN110119245B (en) Method and system for operating NAND flash memory physical space to expand memory capacity
CN116009771A (en) TRIM performance improving method and device for DRAM-less solid state disk
EP3249540A1 (en) Method for writing multiple copies into storage device, and storage device
CN114115745B (en) RAID optimization method and device for multi-Pass programming NAND and computer equipment
CN115563021A (en) Method and device for improving repeated reading performance based on solid state disk and computer equipment
CN115470155A (en) L2P table caching method and device supporting solid state disk multi-scene multiplexing
CN110275596B (en) Solid state disk-based power-on initialization acceleration method and device and computer equipment
CN114047880B (en) NAND write power consumption optimization method and device for multi-Pass programming and computer equipment
CN114327274B (en) Mapping table loading checking method and device based on solid state disk and computer equipment
CN115220660A (en) Write command processing optimization method and device for solid state disk and computer equipment
CN114281266A (en) Accelerated recovery method and device for RAID (redundant array of independent disks) strip of solid state disk and computer equipment
CN114185620B (en) Method and device for realizing acceleration of SSD firmware loading, computer equipment and storage medium
CN116909478A (en) TLC writing performance improving method and device for solid state disk and computer equipment
CN111625265B (en) Method and device for reducing DRAM space consumption in firmware upgrade
CN115495019A (en) Method and device for improving RAID (redundant array of independent disks) performance of DRAM-less solid state disk
CN116339978A (en) Resource allocation method, device, equipment and storage medium
CN116974485A (en) RAID (redundant array of independent disks) Party temporary storage method and device based on HMB (hidden Markov random field) and computer equipment
CN116955218A (en) Method and device for accelerating write command of solid state disk and computer equipment
CN115495018A (en) High-performance mode implementation method and device based on solid state disk and computer equipment
CN116880767A (en) Node resource allocation method and device based on RAID error correction mechanism

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination