⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wearleveling.h

📁 Nand Flash Translation Layer 用于nandflash的操作。 bad block memory map garbage collection average er
💻 H
字号:



#ifndef __WEARLEVELING__H__
#define __WEARLEVELING__H__

typedef struct FreeBlockInf
{
	UINT16 BlockNumber;
	UINT16 Age;
	struct FreeBlockInf *Next;
}FreeBlockInformation;

typedef struct InvalidBlockInf
{
	UINT16 BlockNumber;
	struct InvalidBlockInf *Next;
}InvalidBlockInformation;


NFTL_Return InitWearLeveling(void);
NFTL_Return CreateEmptyABT(void);

NFTL_Return AddFreeBlock(UINT16 blockNumber, UINT8 increment);
NFTL_Return GetBestFreeBlock(UINT16 *returnBlock);

NFTL_Return FlushAgingTable(void);
NFTL_Return Unmount_WearLeveling(void);

NFTL_Return GetBestInvalidBlock(UINT16 *returnBlock);
NFTL_Return AddInvalidBlock(UINT16 blockNumber);
NFTL_Return SetABTDimensions(void);


INT16 GetWLABTBlockPosition(void);
void SetWLABTBlockPosition(INT16 value);
UINT8 GetWLpageOffset(void);
void SetWLpageOffset(UINT8 value);
FreeBlockInformation *GetWLFreeBlockListHead(void);
void SetWLFreeBlockListHead(FreeBlockInformation *value);
InvalidBlockInformation *GetWLInvalidBlockListHead(void);
void SetWLInvalidBlockListHead(InvalidBlockInformation *value);
INT8 GetWLNoOfDivision(void);
void SetWLNoOfDivision(INT8 value);
INT8 GetWLnoOfPages(void);
void SetWLnoOfPages(INT8 value);
UINT8 GetWLpageInBlock(void);
void SetWLpageInBlock(UINT8 value);
UINT16 GetWLlastPageSize(void);
void SetWLlastPageSize(UINT16 value);


#define NUMBER_OF_DIVISION_BYTE 8
#define BLOCK_IN_PARTITION  (UD_END_PARTITION - UD_START_PARTITION + 1) 



#endif //__WEARLEVELING__H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -