Products & Solutions
Quote

"We continue to offer our customers high-quality IP solutions in our ASIC offerings, such as Denali's Databahn memory controller, to meet their design requirements for complex SoCs"

Tom Reeves
Vice President
ASIC Product Group
IBM Microelectronics

Denali Databahn™

Denali Databahn is the most trusted design IP solution for SoC interfaces such as PCI Express, DDR-SDRAM, and NAND Flash memory. Databahn controllers are fully configurable, and silicon proven in over 27 process nodes.

right pointing arrow Get Databahn today!

Memory Report

The Denali Memory Report (DMR) is now available online, in the form of weekly articles and quarterly webcasts that address trends, analysis, and news for the semiconductor memory industry.

right pointing arrow  Access the DMR now!

 

Spectra™
NAND Flash File System

Spectra™ is a robust SLC/MLC NAND flash file system that provides embedded system developers with a proven software solution for maximum performance, and reducing risk and development time. Spectra supports all commercially available NAND flash devices, and is designed to work with a minimal amount of porting effort.

Evaluate Spectra FFS Today!


Key Features
  • Full POSIX
  • ANSI "C" Source Code
  • Support both SLC and MLC
  • Supports all NAND flash devices
  • "Thin Driver" for ease in porting to new platforms.
  • Includes Fast ECC routines.
  • Selectable ECC on/off
  • Extensive device verification options.
  • Dynamic creation and deletion of files, Directories.
  • Wear-Leveling to prolong device operation.
  • Multi level write protect.
  • Detects and recovers Bad Blocks.
  • Garbage Collection options
  • File Fragmentation options
  • Allows concurrent use of multiple volumes.
  • 6 month Technical Support and updates
Flash Driver

The flash driver makes the flash memory appear to the system as a linear array of read/write memory. Basic file system functions such as read, write, file open, file close etc. as are all directory related activities, create, open, close, copy etc. are all supported. In addition to the regular API's the driver also support a security protocol so that data can be safely stored. The securities API's are a separate instruction set which match all normal API's as outlined in the datasheet.

Wear Leveling

This maximizes the write lifetime of a Flash file system. To ensure leveling over the entire address space some files need to be moved around the flash device in order to ensure that all blocks are utilized evenly. This is done during garbage collection (see below). Moving these files can take away from the overall performance of the file system. These two features can be turned off in order to achieve maximum performance. The system determines when these blocks need to be moved based on a wear-leveling pre determined watermark. Since this operation can take more time then reasonable it will be broken into several operations.

Garbage Collection

When moving and writing data in the file system these blocks are marked so that they can be reclaimed and reused. Garbage collection is the process of erasing discarded blocks so that they may be reused. This operation should execute this function when the system is idle or after a data operation.

Error Detect and Correct

An ECC algorithm is used to detect and repair any single or multi bit error, this is extremely important when using devices that use a Multi Bit Level Cell. For devices using a Single level Cell a single bit detect is all that is required. The algorithms for the two devices are vastly different and will impact the read/write performance of the file system. If using Denali controller you can use the Hardware for EDC detect and the software for the correction of single or multi bit fails. The ECCs are stored in the spare area of each page.

Bad Block Management

This monitors the hardware interface for errors returned during a write or erase function. The File system will try several times to rectify the problem. If all retries fail the file system will mark the Block bad in the bad block table and then find a functional free block to complete the operation.

Data Protection and Recovery

Prior to flushing the block table an image is marked as in-progress. When a new block table image is saved successfully in Flash and is marked valid, the old block image is then marked as discarded. In the event of a power interrupt before receiving a valid block signal the system will go back to the saved image and retry. Under all other conditions once a valid block is received it will consider this the most up to date and valid block table available. If you require a backup block table one maybe saved optionally as a N-1 function. However you should consider saving this in SRAM in order not to take up too much space in the Flash File System.

OS-file System

This Block assumes a linear address space for the flash memory space. It also assumes that either a 512 bytes or a large block of 2048 bytes can access.

  • File System Signature
    Stores a string to identify the flash file system
  • File Control Block
    Acts as a directory Each FCB contains Status, File name, File extension, first cluster index and file length.
  • File Allocation Table (FAT)
    Contains FAT nodes, each node represents a data cluster. Both 16 and 32 bit FAT nodes are supported.
  • File Data Area
    Stores the file data. It is aligned to flash block boundaries i.e. 512 or 2048

Evaluate Spectra FFS Today!

© 1994 - 2008 Denali Software, Inc.
Denali, the Denali logo, and Denali Software, Blueprint, Databahn, eMemory, MMAV, PureSpec and SystemRDL are trademarks of Denali Software, Inc. All other trademarks are of their respective owners
Privacy Policy