The array management software is constantly
moving data among the array members, and there are three primary
applications that benefit from
EMRAM.
RAID Journal
Traditionally, RAID systems are designed with a distributed block of disk to
maintain system configuration data and store system recovery address
vectors. However, when power failure occurs, the controller’s volatile
system memory is lost, and on subsequent power-up the entire disk array
must be scanned to recover configuration data and address vectors. This
architecture leads to significant recovery time, especially for large
arrays,
in case of power and system failure.
Immediate data recovery upon power restoration is required,
and the restart vectors can be stored in an appropriate nonvolatile memory
on the
controller board itself. The RAID controller is constantly moving data among
the individual array members to optimize I/O balance, maximize I/O
rates, and assure redundancy; hence the address vector tables are constantly
being updated. Unlimited write endurance is required, and EMRAM,
with its unlimited write endurance, is ideal for RAID journal.
RAID Configuration Data
Same as the RAID journal, RAID system configuration data and parity
information can also be stored in EMRAM to allow immediate recovery in case
of disk failure. It is desirable to move this information at processor bus
speed so as not to hold up the system in wait-states and the RAID
controller does not waste time searching the disk array for its
configuration data. EMRAM with its fast write cycle time (40- 70ns) and
unlimited
write endurance is a good fit in this regard.
RAID Caches
Write caching allows the array management software to "complete" a write
command while the magnetic head on the target disk is still seeking
the right sectors for write operation. It removes the need to notify when
the desired sectors are found and write operation completed. This cache
also affords the controller the option of accumulating data blocks before
writing them to the target disk as a consolidated block. All this has the
desired result of reducing the seek and write time on the target disks.
Although caching EMRAM for RAID Controllers provides system performance
improvements in write intensive or RAID 5 applications, it presents the
potential problem of data loss should system failure occurs before a disk
write is completed.
Adding battery-backed SRAM is an expensive and cumbersome
way of solving this problem. Periodic board maintenance is required to
ensure
proper functioning of batteries. EMRAM is ideal for those critical caches
where the maintenance, record keeping and expenses of battery-backup
solutions are to be avoided.