Currently we can observe rapid progress in non-volatile memory technologies. As the market of mobile devices grows, there is a constant demand for new non-volatile memories, which should not only be inexpensive, but also small and fast. Developments in the tablet and smartphone fields are the major factor of increasing market requirements [1]. Moreover, we have to consider areas such as automotive, health care, or space, where the greatest emphasis is placed on reliability. To fulfill market requests, many companies are constantly working on new solutions and design methods. Nowadays we can distinguish several non-volatile memory types that are being developed. They range from phase-change through magnetoresistive and ferroelectric, to flash, to name a few [2-3]. Unfortunately, all of them possess some disadvantages. There is no universal memory available, which would be an optimal choice for all applications. Depending on the used technology, the mentioned memories suffer from problems such as asymmetric and high access time, limited number of write/erase cycles, bit-flipping, cell wear-out, complex production process, or problems with a decreasing feature size of the used technology. Therefore, the memory selection should be carried out carefully, based on required reliability and fault-tolerance level, when designing an embedded system for a specific application. Although memory's reliability can be improved on technology or layout levels, this paper is focused on technology independent logic design solutions. The paper presents a flash memory controller based on modified versions of common fault-tolerant techniques. It will be further explained that presented design approach provides solution for handling static and dynamic errors which can occur in the memory. The controller was designed for embedded NOR type flash memory. It can also be used for other types of non-volatile memories, after having made some modifications in the design.
展开▼