wearleveling.h

来自「Nand Flash Translation Layer 用于nandflas」· C头文件 代码 · 共 60 行

H
60
字号



#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 + =
减小字号Ctrl + -
显示快捷键?