Skip to main content
Skip table of contents

nSpec v0.24.0.0 External Release Notes

nSpec Version 0.24.0.0

Release Date:

Documentation Updated:

Major Features: Device Yield Analysis, Device Yield Report, Multi-Sided Sample Scans

Overview

nSpec v0.24.0.0 includes many new features and quality of life updates, such as:

  • Device Yield Analysis: Automate device yield calculations for a given sample.

  • Multi-sided sample scanning: Scan samples with more than two sides with the addition of a wafer-flipping module.

  • Lot ID: Scan settings include a field for Lot IDs.

  • String templates: Dynamically insert fields like SAMPLE_ID or DATETIME to analysis export file names.

Additionally, this update includes changes to the database schema, and will require updates to nJson files referencing deprecated portions of the old database schema. Nanotronics Technical Service will assist with this upgrade process.

Upgrading to v0.24.0.0

Upgrading Instructions

Library Update Not Required

If upgrading from a version more than 1 release prior, please reference all intermediate release notes for upgrade steps for each version.

Automatic Database Upgrade

WARNING: This version contains an automatic database upgrade process to update the database schema. Old nJson files that reference the old database schemas must be updated with the support of Nanotronics Technical Support.

This database upgrade process happens once a database is used in nSpec v0.24.0.0. The first time an old scan is used, the upgrade will occur and make the typical analysis process a little slower.

Once the upgrade is complete, the new upgraded scan databases cannot be used in previous nSpec versions. If needed, backups of the old scan databases should be must be made before performing any scans in nSpec v0.24.0.0.

nDraw Known Issue

Customers reliant on nDraw should not upgrade to nSpec v0.24.0.0 or beyond until its replacement is completed.

Major Enhancements

Device Yield Analysis

Overview

Device Yield analysis allows users to quickly calculate the device yield for a given sample. Then, given the device yield, the analysis assigns the sample a pass or fail status.

Each device on the sample is sorted into a user-defined bin. Each bin has a set of user-defined passing criteria. In order for an entire sample to pass, the percentage of devices that pass must exceed the user-set threshold.

Most Device Yield parameters are written with SQL queries, so knowledge of SQL is required to write the nJson setting file. For assistance with setup, contact support@nanotronics.ai.

This analysis is typically set up as a group analysis in a production environment, in which the Device Yield analysis runs after a Device Inspection analysis that detects sample defects.

Analysis Parameters

Device Yield analysis contains four parameters: Base Analysis ID Mode, Base Analysis ID, Device Yield Threshold, and Device Yield Setting.

image-20240227-111248.png

Device Yield Analysis Parameter dialog

Parameter Description

Parameter Name

Type

Range

Description

Base Analysis ID Mode

Picklist

Absolute, Relative

See Post-Analysis Referencing for usage instructions.

Base Analysis ID

String

Comma separated list of IDs or analysis names.

See Post-Analysis Referencing for usage instructions.

Must point to a previous analysis that outputs devices, like Device Inspection.

Device Yield Threshold

Long

0 to 100.

Represents the percentage of devices on a sample that must meet passing criteria in order for the entire sample to pass.

Device Yield Setting

nJson File

Setting file defines bins and bin-specific passing criteria for a given sample.

Device Yield Setting Parameter

The Device Yield Setting nJson file contains analysis configuration details, including bin definitions and nView report settings, .

Example nJson File

Below is an example Device Yield Setting nJson file.

CODE
{
  "Device Report": {
    "inputTablesNames": "src",
    "BinFallThrough": 1,
    "PassColor": "64FF64",
    "FailColor": "FF6464",
    "Filtering"	  : 
	{
		"Inclusive" : true,
		"query"     : "SELECT DeviceID FROM vwDevice"
	},
    "Bins": [
      {
        "description": "Perfect",
        "value": 1,
        "pass": true,
        "color": "ADD8E6"
      },
      {
        "description": "Very Good",
        "value": 2,
        "pass": true,
        "color": "E0FFFF"
      },
      {
        "description": "Good",
        "value": 3,
        "pass": true,
        "color": "FFB6C1"
      },
      {
        "description": "Almost Good",
        "value": 4,
        "pass": false,
        "color": "FFA07A"
      },
      {
        "description": "Not Good",
        "value": 5,
        "pass": false,
        "color": "20B2AA"
      }
    ],
    "BinsQueries": [
      {
        "bin": 1,
        "priority": 5,
        "query": "SELECT DeviceID, Count(*) AS AddDesc FROM src GROUP BY DeviceID HAVING Count(*) < 300"
      },
      {
        "bin": 2,
        "priority": 4,
        "query": "SELECT DeviceID, Count(*) AS AddDesc FROM src GROUP BY DeviceID HAVING Count(*) >= 300 AND Count(*) < 400"
      },
      {
        "bin": 3,
        "priority": 3,
        "query": "SELECT DeviceID, Count(*) AS AddDesc FROM src GROUP BY DeviceID HAVING Count(*) >= 400 AND Count(*) < 500"
      },
      {
        "bin": 4,
        "priority": 2,
        "query": "SELECT DeviceID, Count(*) AS AddDesc FROM src GROUP BY DeviceID HAVING Count(*) >= 500 AND Count(*) < 1000"
      },
      {
        "bin": 5,
        "priority": 1,
        "query": "SELECT DeviceID, Count(*) AS AddDesc FROM src GROUP BY DeviceID HAVING Count(*) >= 1000"
      }
    ]
  }
}
nJson File Properties
Bins

The Bins property includes the following nested properties:

  • description a string to name the given bin.

  • value an integer used to identify and reference the bin.

  • pass a boolean representing if devices sorted into the given bin pass or fail.

  • color a string representing a color in hex code, which is used to label devices of the given bin in Device Yield nView reports.

In the example nJson file, the user defines five bins. Devices sorted into "Perfect", "Very Good", and "Good" bins as are assigned a passing value, and devices sorted into "Almost Good" and "Not Good" bins are assigned a failing value.

BinsQueries

The BinsQueries property includes the following nested properties:

  • bin an integer referencing a Bin property’s value property.

  • priority an integer representing the order in which the BinsQueries should evaluate a device.

  • query a SQL query that defines which devices are assigned to the given bin.

In the example nJson file, the devices are sorted into bins based on the device’s defect count. The "Not Good" bin contains devices with more than 1000 defects, and "Perfect" contains devices with less than 300 defects.

BinQueries are also given priorities. If a device can be sorted into more than one bin, it will be assigned to a bin via the order defined by the priority.

Here, the condition for bin 5 or "Not Good" is checked first because it has a priority of 1. We recommend checking the most critical defect conditions first.

BinFallThrough

If every bin is checked and the given wafer does not meet the criteria for any of the bins, the device is sorted into the bin defined via the BinFallThrough.

In this example, the fall through bin is 1, or "Perfect".

inputTablesNames

This property defines a name for the input SQL table, which includes all of the relevant scan data for a given sample.

In this example, the input table is named src, and is referenced in the BinsQueries' nested property SQL query.

Filtering

Filtering is an optional property which creates a temporary filtered view of the scan database for BinQueries to parse.

The query nested property is the SQL query used to filter the database. The Inclusive nested property is a boolean that determines if the database entries that meet the filter query condition are included or excluded from the output.

PassColor / FailColor

PassColor and FailColor determine the colors that the sample’s passing and failing devices are labeled with in the nView Device Yield Report.

Writing SQL Queries

SQL queries should query the scan database’s vwDevices table, which contains defect details.

For example, defects can be sorted into bins by the type of defects found and/or the size of those defects. See below for all column names in the vwDevices table.

Here is an example of a query filters the input table for defects with defect type “EXTREMELY_BAD_DEFECT_TYPE” that are larger than 15 µm2.

CODE
"SELECT DeviceID, Area, ClassName FROM src WHERE Area >= 15 AND ClassName = \"EXTREMELY_BAD_DEFECT_TYPE\" GROUP BY DeviceID"
vwDevices Column Names

Column Name

Data Type

DefectID

INTEGER

ImageID

INTEGER

AnalysisID

INTEGER

DeviceID

INTEGER

X

REAL

Y

REAL

W

REAL

H

REAL

Area

REAL

Eccentricity

REAL

Orientation

REAL

XinDevice

REAL

YinDevice

REAL

ClassID

INTEGER

Score

REAL

Contour

TEXT

ClassName

VARCHAR

Device Yield Report

Overview

After successfully running Device Yield analysis on a defect-type scan, the analysis results can be viewed in nView. The Device Yield report can be viewed by accessing nView > View > Device Yield Report or Ctrl+ 7.

Device Yield Report Views

The Device Yield report has multiple different views that can be seen by toggling Pass/Fail and Bins, in addition to hovering over individual pass/fail or bin table rows.

image-20241112-193454.png

 

In the next image, both the Pass/Fail and Bins views are turned on.

Each square represents a device, with the color in the top left corner of each device representing the bin associated with the device, and the color in the bottom right corner representing the pass/fail status of the device.

image-20241112-185826.png

Bins can be toggled off to only show the pass/fail status of each device.

image-20241112-185442.png

Similarly, Pass/Fail can be toggled off to show the device bins only.

image-20241112-185509.png

Additionally, hovering over any of the table rows on the right side of the report will highlight the given row’s bin. The view below is with the bins view only enabled, with cursor hovered over the “Bin 1 - Perfect” row.

ca2f89b7-9067-4726-8b89-39e3545a325c.png

Individual Device View

Individual devices can also be inspected more closely by double-clicking any of the device tiles in the device yield report. Double-clicking a device tile will open a new window of the device view.

Using the up, left, down, right arrows allows you to navigate to view neighboring devices.

image-20241112-171744.png

Exporting Device Yield Report

Device yield reports can be manually saved and exported directly at nView > File > Save As…

Additionally, they can be exported automatically by placing a Report Summary Image Export after a device yield analysis in an analysis group.

Multi-Sided Sample Scanning

Overview

nSpec CPS systems are capable of performing multi-sided sample scans with the purchase of a wafer-flipping robot module.

Configuration

During initial nSpec setup, a Nanotronics Technical Support Engineer will save autoloader calibration settings for handling and scanning each side of a multi-sided sample. For example, for a double-sided wafer, the engineer would save different autoloader settings for the top and bottom sides of the wafer.

These settings will populate in the Autoloader section of the Scan Settings dialog. Running a multi-sided sample scan necessitates a group job, and each side of the sample needs its own job or scan settings.

Usage

To continue using the previous example of a double-sided wafer, when setting up a job for the wafer’s top side, the autoloader calibration setting for the top side of the wafer is set to Side To Scan value A.

top side wafer scan.png

Similarly, the autoloader calibration setting for the wafer’s bottom side is set to Side To Scan value B.

bottom side wafer scan.png

A and B are the default values for the Side To Scan setting, but are arbitrary and can be updated in Callibration.db.

Additionally, all jobs for multi-sided samples must be saved with Job Property KeepAlignerFree set to True.

image-20240229-155822.png

The job properties dialog is access via the Props button in the Job section of Scan Settings.

After the job for each sample side is saved, all jobs should be added to a Job Group in the order that they should be performed.

New Features

Highlights

NSPEC-6905: Cropped Images Analysis migrated to use standard method of referencing previous analyses

When setting up a Cropped Images Analysis, previous analyses will be referenced with parameters Base Analysis ID Mode and Base Analysis ID. More about this reference system can be read in Appendices: Post - Analysis Referencing.

NSPEC-7957: Add Lot ID to Scan Dialog
Overview

Lot ID is an optional field that can be set in the Scan Settings dialog. It is saved to the database under Scan Properties.

image-20240304-161925.png
Lot ID Input Requirements
  • Must be 260 characters or less

  • Periods are valid characters, with the exception of leading and trailing periods. For example, “ABC.1”, is valid, but “.ABC1” or “ABC1.” are not valid.

  • Cannot contain any of the following characters: / \ : “ | > < * ?

  • Cannot contain tab characters

  • Cannot end in a space

  • Cannot be any of the following reserved names: NULL, CON, PRN, AUX, NUL, COM0, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, COM¹, COM², COM³, LPT0, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, LPT¹, LPT², and LPT³

  • Empty strings are interpreted as “No Lot ID Specified”

Additionally, Lot ID is not case sensitive.

NSPEC-8003: Cropped Images Analysis includes Overlay File Configuration Parameter

Overlay Configuration File is an optional parameter for Cropped Images Analysis, which allows users to apply a customizable overlay to exported images. The parameter input type is a nJson file.

Screen Shot 2024-12-18 at 11.15.15 PM.png

Below is an example nJson file for the Overlay Configuration File parameter.

CODE
{
 "Overlay Setting" :
 {
  "semver": "1.0.0",
  "viewport_dimensions": {
    "rows": 150,
    "output_width" : 512,
    "columns": 150
  },
  "background_color": "#666666",
  "sidebar_parameters": {
    "text_line_vertical_padding": 6,
    "text_line_horizontal_padding": 5,
    "sidebar_text_scale": 1,
    "sidebar_text_color": "#FFFFFF",
    "sidebar_width": 450,
    "sidebar_position": "left"
  },
  "scale_section_parameters": {
    "bar_top_padding": 10,
    "bar_height": 25,
    "bar_bottom_padding": 10,
    "horizontal_padding_between_label_and_bar": 10,
    "horizontal_padding_between_bar_and_edge_of_section": 10,
    "scale_bar_color": "#EEEEEE",
    "scale_section_justification": "right",
    "scale_bar_label_parameters": {
      "scale_label_text_color": "#FFFFFF",
      "scale_label_text_scale": 0.8,

  "vertical_padding_between_bottom_of_label_text_and_bottom_of_section
  ": 10
  }
 }
 }
}

The above Overlay Configuration File produces the following cropped defect image with overlay. The cropped defect image dimensions, background color, sidebar defect information, and scale and their relative placements are all fully customizable.

Screen Shot 2024-12-18 at 11.19.42 PM.png

semver is shorthand for semantic version, and refers to the version of the defect overlay schema used. Required.

viewport_dimensions sets the size of the viewport containing the cropped defect. Required.

background_color is the background color for the viewport, only used if the viewport size is larger than the cropped defect tile size. Required.

sidebar_parameters sets the size, font formatting, padding, and relative position of the image overlay sidebar, which contains defect information, including the ID, area, length, and width. Required.

scale_section_parameters sets the size and padding for the image overlay scale bar. Optional.

NSPEC-8098: Naming Export Files with String Templates

Export files from Custom Exporter, Cropped Images, and Report Summary Image Export now can be named with string template via the newly added Export File Full Path parameter.

Overview

Users can dynamically name export files using string templates via the Export File Full Path parameter, available for select analyses. Currently, the parameter is available for Custom Reporter, Custom Exporter, Cropped Images, and Report Summary Image Export analyses.

image-20250421-144509.png

Example String Template Usage

Here is an example of string template usage for the Export File Full Path parameter in Cropped Images Analysis.

The following input: {PATH_THIS_ANALYSIS}\{SAMPLE_ID}_{SCAN_ID}_{ANALYSIS_ID}_{ANALYSIS_SHORTNAME}\defect_{DEFECT_ID}

Results in the following export path:

C:\Scans\ExampleSampleID\Analysis\Analysis_001_002\ExampleSampleID_001_002_Cropped Image Generator\defect_12345

Table of Supported String Templates

Currently, under the Post-Analysis Support column, “All” refers to the analyses that this feature has been implemented for: Custom Exporter, Custom Reporter, Cropped Images, and Report Summary Image Export.

Variable Name

Description

Post-Analysis Support

PATH_DB

Folder that Contains the image database
ex: C:\Scans\

All

PATH_SCAN

Scan destination folder, the folder that contains “Scan_001” etc

ex: C:\Scans\SampleID\

All

PATH_ANALYSIS

The incremented analysis destination folder within the scan folder.
ex: C:\Scans\SampleID\Analysis\

All

PATH_THIS_ANALYSIS

The incremented analysis destination folder within the scan folder.
ex: C:\Scans\SampleID\Analysis\Analysis_$(SCAN_ID)_$(ANALYSIS_ID)

All

SAMPLE_ID

Parent scan’s sample ID

All

MACHINE_NAME

Name of machine (Device name in PC’s settings SystemAbout)

All

JOB_NAME

Name of job that created parent scan

All

SCAN_ID

Parent scan’s ID

All

LOT_ID

References the Lot ID that users can input into the Job

All

ANALYSIS_GROUP_NAME

Parent group analysis' name (error if analysis is not part a group analysis)

All

ANALYSIS_ID

Analysis' ID

All

ANALYSIS_SHORTNAME

Analysis' IntName as shown in Main View Utility -> Edit Analyses...

All

ANALYSIS_DISPLAYNAME

Analysis` Name as shown in Main View Utility -> Edit Analyses...

All

DATETIME

Analysis' completion time with format: %Y%M%DT%h%m%s

All

TARGET_ANALYZER_DISPLAYNAME

Target analysis' Name as shown in Main View Utility -> Edit Analyses...

All

TARGET_ANALYZER_SHORTNAME

Target analysis' IntName as shown in Main View Utility -> Edit Analyses...

All

TARGET_ANALYSIS_DATETIME

Target analysis' completion time with format: %Y%M%DT%h%m%s

All

TARGET_ANALYSIS_ID

Target analysis' ID

All

DEFECT_IMAGE_ID

Cropped defect’s parent image ID

Cropped Images

DEFECT_DEVICE_ID

Cropped defect’s parent device ID

Cropped Images

DEFECT_DEVICE_NAME

Cropped defect’s parent device name

Cropped Images

DEFECT_ID

Cropped defect’s ID

Cropped Images

DEFECT_CLASSIFICATION

Cropped defect’s classification name (N/A if defect is not classified)

Cropped Images

TARGET_ANALYSIS_DESCRIPTION

Reporting image export’s Report Type

Report Summary Image Export

New Features Changelog

T Key Release Notes Summary

Data cannot be retrieved due to an unexpected error.

View these issues in Jira

Bug Fixes

Changelog

T Key Release Notes Summary Affected Releases

Data cannot be retrieved due to an unexpected error.

View these issues in Jira

Known Issues

Known Issues Summary

NSPEC-8217: Cannot run scans with old image setting group that uses RGBW light source

This bug only affects customers with transmitted RGBW light sources. Get in contact with Nanotronics Technical Support at support@nanotronics.co for assistance working around this bug.

NSPEC-8241: Error after switching objectives during autofocus for Vieworks camera

Scans fail with a GenTL error in systems with Vieworks cameras after switching objectives during autofocus.

NSPEC-8263: Cannot enable hardware triggering on ACS stages

Systems with ACS stages are unable to initialize due to an error during the camera hardware triggering test.

NSPEC-8293: nScan Race Condition Crash on Boot

There is a race condition during boot that causes nSpec to crash.

NSPEC-8216: nDraw Crashes on Launch

After internal database changes introduced by v0.24.0.0, nDraw currently crashes. This primarily impacts new recipe setup of workflows involving Virtual Device Inspection. If this impacts your workflow, contact support@nanotronics.co for information.

NSPEC-8310 & NSPEC-8315: Precision Scanning Errors

There are several errors starting in v0.24.0.0 that block some portions of the precision scanning / precision autofocus workflows. Specifically, applying an autofocus mask, and use of automatic light intensity adjustments. Fixes for these items are planned for upcoming software patch version 0.24.0.2.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.