NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
nvmnand_part_ops.h File Reference

Detailed Description

NVIDIA mNAND library part specific operations header file

Description: This file declares the private interface in mnand library for using mNAND with encapsulation of different vendor commands for health related information.

Definition in file nvmnand_part_ops.h.

Go to the source code of this file.

Data Structures

struct  __mnand_operations
 mNAND part/vendor specific operation block More...
 

Typedefs

typedef MNAND_STATUS(* __mnand_open) (struct __mnand_chip *chip)
 "Opening" the mNAND chip. More...
 
typedef MNAND_STATUS(* __mnand_close) (struct __mnand_chip *chip)
 "Closing" (aka releasing) the mNAND chip. More...
 
typedef MNAND_STATUS(* __mnand_update_block_info) (struct __mnand_chip *chip)
 Updating the list of block info(if supported by the chip) inside mNAND chip handle. More...
 
typedef MNAND_STATUS(* __mnand_update_summary) (struct __mnand_chip *chip)
 Updating the summary info inside mNAND chip handle. More...
 
typedef MNAND_STATUS(* __mnand_update_smart_summary) (struct __mnand_chip *chip)
 Updating the smart summary info inside mNAND chip handle. More...
 
typedef MNAND_STATUS(* __mnand_check_eol) (struct __mnand_chip *chip, MNAND_EOL_STATUS *eol_status)
 Checking EOL status – check EOL status from device and update status. More...
 
typedef MNAND_STATUS(* __mnand_send_refresh) (struct __mnand_chip *chip, int cached, uint8_t block_type, int num_blocks, uint32_t rfsh_unit_time_us, mnand_refresh_progress *progress)
 Send "refresh" command to the mNAND chip. More...
 
typedef MNAND_STATUS(* __mnand_get_rfsh_progress) (struct __mnand_chip *chip, double *rfsh_progress)
 Extract refresh progress from the mNAND chip. More...
 
typedef struct __mnand_operations mnand_operations
 

Typedef Documentation

◆ __mnand_check_eol

typedef MNAND_STATUS(* __mnand_check_eol) (struct __mnand_chip *chip, MNAND_EOL_STATUS *eol_status)

Checking EOL status – check EOL status from device and update status.

Parameters
chip- the mNAND chip handle to be updated
eol_status- EOL status (MNAND_EOL_DETECTED = EOL set)
Return values
MNAND_OK,success
elseproblem with operation

Definition at line 97 of file nvmnand_part_ops.h.

◆ __mnand_close

typedef MNAND_STATUS(* __mnand_close) (struct __mnand_chip *chip)

"Closing" (aka releasing) the mNAND chip.

This function needs to be called last to free up any resources and data structures allocated in open

mnand_open and mnand_close to be used in pair.

Parameters
chip- the mNAND chip handle to be used
Return values
MNAND_OK,success
elseproblem with operation

Definition at line 55 of file nvmnand_part_ops.h.

◆ __mnand_get_rfsh_progress

typedef MNAND_STATUS(* __mnand_get_rfsh_progress) (struct __mnand_chip *chip, double *rfsh_progress)

Extract refresh progress from the mNAND chip.

Parameters
chip- the mNAND chip handle to be used
rfsh_progress- current refresh progress (in percentage) as obtained from the device. 100% means all the blocks in the device is refreshed once. Similarly, 200% means all block in the device is refreshed twice and so on.
Return values
MNAND_OK,success
elseproblem with operation

Definition at line 132 of file nvmnand_part_ops.h.

◆ __mnand_open

typedef MNAND_STATUS(* __mnand_open) (struct __mnand_chip *chip)

"Opening" the mNAND chip.

This function needs to be called first to identify the mNAND device and update device related content including dev_type, desc, refresh_available, summary_available, storage_type and refresh properties(rfsh_properties) specific to this chip. Allocates memory if needed to be used in later functions. For properties not supported initialize appropriately by setting flag to 0 and pointers to NULL.

mnand_open and mnand_close to be used in pair.

Parameters
chip- the mNAND chip handle to be initialized
Return values
MNAND_OK,success
elseproblem with operation

Definition at line 42 of file nvmnand_part_ops.h.

◆ __mnand_send_refresh

typedef MNAND_STATUS(* __mnand_send_refresh) (struct __mnand_chip *chip, int cached, uint8_t block_type, int num_blocks, uint32_t rfsh_unit_time_us, mnand_refresh_progress *progress)

Send "refresh" command to the mNAND chip.

The purpose is to force data rotation to improve the data retention.

Parameters
chip- the mNAND chip handle to be used
cached- specifies if mNAND device cached is enabled or not so that special handling can be done of the device if needed.
block_type- which region (SLC/MLC) to be Refreshed (if supported)
num_blocks- number of blocks to be refreshed
rfsh_unit_time_us- time for which refresh operation is allowed to execute(optional)
progress- refresh progress (obtained from device)
Return values
MNAND_OK,success
elseproblem with operation

Definition at line 116 of file nvmnand_part_ops.h.

◆ __mnand_update_block_info

typedef MNAND_STATUS(* __mnand_update_block_info) (struct __mnand_chip *chip)

Updating the list of block info(if supported by the chip) inside mNAND chip handle.

Parameters
chip- the mNAND chip handle to be updated
Return values
MNAND_OK,success
elseproblem with operation

Definition at line 66 of file nvmnand_part_ops.h.

◆ __mnand_update_smart_summary

typedef MNAND_STATUS(* __mnand_update_smart_summary) (struct __mnand_chip *chip)

Updating the smart summary info inside mNAND chip handle.

Parameters
chip- the mNAND chip handle to be updated
Return values
MNAND_OK,success
elseproblem with operation

Definition at line 86 of file nvmnand_part_ops.h.

◆ __mnand_update_summary

typedef MNAND_STATUS(* __mnand_update_summary) (struct __mnand_chip *chip)

Updating the summary info inside mNAND chip handle.

Parameters
chip- the mNAND chip handle to be updated
Return values
MNAND_OK,success
elseproblem with operation

Definition at line 76 of file nvmnand_part_ops.h.

◆ mnand_operations

Definition at line 148 of file nvmnand_part_ops.h.