class NdmRamDriver

Defined at line 54 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h

Ram-backed driver for testing purposes.

Public Methods

bool DoubleSize ()

Extends the visible volume to the whole size of the storage.

Defined at line 26 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

void NdmRamDriver (const ftl::VolumeOptions & options)

Defined at line 62 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h

void NdmRamDriver (const ftl::VolumeOptions & options, const TestOptions & test_options)

Defined at line 63 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h

void ~NdmRamDriver ()

Defined at line 67 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h

void save_config_data (bool value)

Defined at line 72 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h

void set_options (const ftl::VolumeOptions & options)

Defined at line 74 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h

void set_max_bad_blocks (uint32_t value)

Defined at line 75 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h

uint32_t num_bad_blocks ()

Defined at line 76 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h

void SetPowerFailureDelay (int delay)

Defined at line 78 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h

void set_operation_callback (std::function<int (Op, uint32_t)> operation_callback)

Set a callback to be run on every individual page read, write, and erase. If the callback

returns a non-zero value, that will be returned for the operation with no action performed.

Defined at line 86 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h

bool FailEcc (uint32_t page_num)

Access flags for a given page.

Defined at line 303 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

bool UnsafeEcc (uint32_t page_num)

Defined at line 307 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

bool BadBlock (uint32_t page_num)

Defined at line 311 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

void SetFailEcc (uint32_t page_num, bool value)

Defined at line 323 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

void SetUnsafeEcc (uint32_t page_num, bool value)

Defined at line 331 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

void SetBadBlock (uint32_t page_num, bool value)

Defined at line 339 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

uint8_t * MainData (uint32_t page_num)

Access the main data and spare area for a given page.

Defined at line 289 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

uint8_t * SpareData (uint32_t page_num)

Defined at line 295 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

const char * Init ()

NdmDriver interface:

Defined at line 55 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

const char * Attach (const ftl::Volume * ftl_volume)

Defined at line 69 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

bool Detach ()

Defined at line 82 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

int NandRead (uint32_t start_page, uint32_t page_count, void * page_buffer, void * oob_buffer)

Returns kNdmOk, kNdmUncorrectableEcc, kNdmFatalError or kNdmUnsafeEcc.

Defined at line 85 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

int NandWrite (uint32_t start_page, uint32_t page_count, const void * page_buffer, const void * oob_buffer)

Returns kNdmOk, kNdmError or kNdmFatalError. kNdmError triggers marking the block as bad.

Defined at line 110 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

int NandErase (uint32_t page_num)

Returns kNdmOk or kNdmError. kNdmError triggers marking the block as bad.

Defined at line 128 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

int IsBadBlock (uint32_t page_num)

Returns kTrue, kFalse or kNdmError.

Defined at line 167 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

bool IsEmptyPage (uint32_t page_num, const uint8_t * data, const uint8_t * spare)

Defined at line 186 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

uint32_t PageSize ()

Defined at line 270 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

uint8_t SpareSize ()

Defined at line 272 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.cc

Enumerations

enum Op
Name Value
Read 0
Write 1
Erase 2

Defined at line 56 of file ../../src/devices/block/drivers/ftl/tests/ndm-ram-driver.h