Network attached storage (NAS) boxes and storage-area networks (SANs) are common in the corporate world, providing a range of storage features. In the future, there likely will be a NAS box in every home as streaming multimedia becomes more common.
The potential for home use is changing the kinds of features that are found within NAS boxes. This in turn is changing the types of platforms needed to handle the growing number of services such as multimedia transcoding. Likewise, other platforms such as Blu-ray disk players are starting to incorporate these features, blurring the lines between set-top boxes and NAS devices.
Companies like Applied Micro and PLX are targeting this space with multicore chips specifically designed for the storage market. For example, PLX’s NAS7820 dual ARM11 core chips (Fig. 1) incorporate enough power to handle multistream transcoding for NAS-related chores in addition to redundant array of independent disks (RAID) storage chores. The NAS7820 reference design board (Fig. 2) supports dual SATA, dual USB, and dual Gigabit Ethernet interfaces. A built-in TCP/IP offload engine (TOE) supports the reference design board.
The eight-channel, low-latency buffered DDR2 memory controller handles bandwidth bursts up to 12 Gbits/s. Multiport SRAM supports the eight separate DMA engines in multiple bus masters in addition to the dual-core processor. Hardware acceleration for 128/256-bit AES encryption, RAID support, and network support allows the platform to handle a range of applications at the same time. The system-on-a-chip (SoC) also supports NAND and NOR flash.
Applied Micro, formerly AMCC, has been delivering PowerPC-based solutions for the storage market for many years (see “Smaller, Power-Packed Hi-Def Designs Rule This Year’s ESC”). It has been a leader in the NAS market using its family of single-core and multicore 4xx processors. Its latest package, the Applied Micro NAS Reference Design (Fig. 3a), is based on the Primo board (Fig. 3b), which supports this processor family.
The NAS Reference Design supports up to four SATA drives in addition to eSATA and USB devices. The board has a mini-PCI connector for expansion. It supports JBOD (Just a Bunch Of Disks) and RAID 0, 1, 10, 5, and 50 with hardware acceleration. It also has built-in security and encryption support. Like the PLX solution, it can handle multiple HD streams.
Intel’s IA-32 processors will be found in a range of third-party platforms. The new Core i3 and i5 in addition to the Atom line are ideal NAS hosts depending upon the kind of application. AMD’s Geode LX NAS RDK targets low-cost, low-power NAS applications (see “Cautiously Optimistic Exhibitors Revisit ESC In 2007”). The Geode LX 800 uses only 0.9 W and handles SATA and Gigabit Ethernet using the companion Geode CS5536 chip.
VIA Technologies uses a slightly different approach with the ARTiGOA2000 NAS platform, which is based on a Nano-ITX-based board running the 1.5-GHz VIA C7 processor (see “Nice NAS”). It is sold as a bare-bones NAS device by companies like Logic Supply that can also customize it by adding drives and flash memory. The Nano-ITX board accepts a Compact Flash card, and Logic Supply has a version of the FreeBSD-based FreeNAS that boots from a 1-Gbyte flash card.
The latest device from VIA Technologies, the VIA M’serv (Fig. 4), adds a second Gigabit Ethernet connection. This dual network connection is becoming more common and shows up in other platforms like the PLX reference design. The second port can be used for gateway applications, but it can also be useful for backup and streaming applications.
For example, a network-based HDTV tuner like the dual-channel HD Home-Run (Fig. 5) from SiliconDust can be used off one network interface while the other streams recorded content to a network-enabled HDTV. In this case, the NAS device needs to run a background personal video recorder (PVR) application such as the MythTV back end (see “Hitting An HD HomeRun”).
Of course, configuration can be a challenge since a PC with a Web browser is likely to be found on the HDTV side, but many applications like MythTV handle device configuration from the server. Alternatively, the NAS device can be configured as a router providing direct access to the devices on the other network segment.
SMALLER NAS DEVICES
The hard drives that are used to provide storage dictate most NAS device design. This typically means one or more 3.5-in. or 2.5-in. hard drives. The M’serv accepts a pair of 3.5-in. drives for a current upper capacity of 4 Tbytes using drives like Seagate’s 2-Tbyte Barracuda (see “Seagate Delivers 2-Terabyte Hard Drive”). The power supply and Nano-ITX board fill up the rest of the space.
Putting the hard drive outside is an option, especially with USB and eSATA support. USB 3.0 to SATA bridge chips are now seeing the light of day, providing more bandwidth than a 1-Gbit Ethernet link can handle (see “USB-SATA Bridge Chip Breaks USB 3.0 Barrier”).
These external configurations are leading to desktop designs like Seagate’s $99 FreeAgent DockStar (Fig. 6). This tiny box has an Ethernet connection and a host of USB connections for storage devices. One of the USB connections allows a Seagate external FreeAgent Go hard drive to be connected by simply plugging it into the top of the DockStar.
The DockStar has PogoPlug functionality. PogoPlug is a company that also sells a $129 PogoPlug box (Fig. 7), which provides links to its Internet site allowing online sharing of content (see “What Can You Build With Ethernet, USB, And An Arm?”). The Web-based interface works with Web sites such as Facebook, MySpace, and Twitter. Also, it can automatically download content for multimedia apps such as iTunes and iPhoto. It can deliver streaming multimedia content to network devices as well, including Android and iPhone smart phones.
CTera Networks has a similar service targeting file sharing and data backup via the Internet. Its C200 is a more conventional NAS box supporting a pair of internal drives plus external USB drives, and its CloudPlug is similar to the Marvell SheevaPlug (Fig. 8). This shouldn’t be too surprising since the SheevaPlug is Marvell’s development platform and the reference design is based on the Sheeva microcontroller that’s Marvell’s ARM architecture processor.
The SheevaPlug, like the CloudPlug and the original PogoPlug, has a single USB connection designed for a single-external-drive configuration. A USB hub can provide access to additional drives. But since the SheevaPlug plugs directly into a power outlet, a single-drive configuration is likely to be the most common.
CTera Portal provides the most advanced Internet-based management system targeting business environments. It can monitor and manage multiple devices, providing flexible Internet-based backup services. It’s designed to support Internet service provider (ISP) and managed service provider (MSP) companies as well. Application distribution and management is also part of the package, allowing services to be delivered to installed CTera devices at remote locations.
By default, most NAS boxes provide file and storage services allowing other network devices such as PCs to access content. The NAS boxes typically run standard operating systems like Linux or Windows Embedded, although lower-end solutions often have very stripped down versions. Likewise, remote management, often via a Web interface, is common. However, some devices like the VIA Technologies M’serv are essentially PCs with video and input peripheral connections.
In actuality, NAS boxes tend to be full network servers often with functionality that exceeds that found in corporate environments because of the number of functions that the NAS device handles. This can span from the DNS, DHCP, NAT/routing, firewall, and Web management found on home gateways to file sharing services for a wide range of protocols including Microsoft’s CIFS (Common Internet File System), NFS (network file system), and Macintosh network files. There are also file transfer services such as FTP and WebDAV.
Simple NAS boxes only provide limited user management and security, but NAS in general spans the gamut in this area. Basic user and group management provided by the NAS box is common with more advanced devices supporting external services such as LDAP and Microsoft Active Directory. These kinds of NAS devices are normally part of a larger corporate network that has LDAP or Active Directory servers.
This is useful for user management where users have access to a number of servers, not just a single NAS device. This type of support becomes more useful in a home or small business environment as the number of NAS devices increases. Many users may think a single NAS device is all that’s needed in these environments. But as more devices such as gateways and set-top boxes are added to a network, it’s easy to see that a single NAS device will no longer be the norm.
Web and database servers are also options on many NAS devices. Web servers can be limited to serving pages to provide more functional Web interfaces, including support for database servers. Even mail servers can be hosted on some devices.
So much for the basics.
One of the main driving factors behind the enhancement of NAS devices from basic storage boxes is streaming multimedia content. Movie services such as Vudu essentially provide a specialized NAS box (see “Vudu: Movies On Demand”). The Vudu boxes incorporate video playback hardware and are normally connected to an HDTV via HDMI or component video delivering 720p or 1080p content. Multimedia content can be rented or purchased and stored on the local drive for immediate viewing.
Streaming content while it is downloading from the Internet is possible with Vudu as well. Netflix uses this same approach with its Roku-based box (see “Consumer Electronics Series: Roku Netflix Player”). It delivers 720p content, while Vudu can deliver up to 1080p. This is more a limitation of the Roku box and the Internet connection. The network interface limits most cached content. Most content is sent in compressed form, so a 1-Gbit/s Ethernet connection works just fine in most instances.
Netflix is also showing up in a range of devices such as HDTVs and Blu-ray players, which are often gaining NAS capabilities to provide caching and storage for streaming content.
Another rising star is Boxee. This free streaming platform is being delivered on hardware like D-Link’s Boxee Box (see “D-Link’s Boxee Box”). Don’t be surprised if Boxee support shows up in a number of NAS devices in the near future.
Audio streaming support is more common than video streaming because of the freer distribution of audio content, much to the chagrin of many content providers. This is due to the relative ease that music files can be placed on NAS devices and the simpler protocols used to stream them. Streaming iTunes from a PC to a mobile device is relatively common, and so is adding this type of server support to a NAS box where the content and playlists are stored.
Likewise, more advanced audio streaming servers like Logitech’s Squeezebox Server can also cache, transcode, and forward audio media content (see “Networking Invigorates The Home Multimedia Blitz”). The free Squeezebox Server runs on Windows and Linux and has found a home in some NAS devices as well. The server is managed via a Web interface.
The slow adoption of a similar scenario on the video side has been due to copy protection issues more than bandwidth issues. Services like Netflix and Vudu have tightly controlled delivery paths to prevent copying.
That’s why protocols like DLNA have been slower to take off (see “What Can We Say About DLNA?”). Based on UPnP, DLNA provides a framework for linking content on NAS boxes to controllers and players, typically HDTVs. UPnP and DLNA stacks are available for most operating systems including Windows and Linux.
DLNA support on a NAS box includes the ability to list content and stream it using different encodings. The encodings available may be limited to what is stored on the NAS box while higher-end systems might provide real-time or backend transcoding capabilities. Transcoding can often load down the server, though, which might not be preferable based on the primary purpose of the NAS device.
DLNA allows NAS boxes to service DLNA devices. CIFS enables a NAS box to service a PC running Windows. Many matching protocols for other storage environments show up in NAS boxes as well.
Fibre Channel and SCSI are two protocols that have grown up in the storage environments and found their way into NAS boxes and even higher-end storage-area network (SAN) devices. They show up on the storage side these days as Fibre Channel or SAS (Serial Attached SCSI) drives and on the network side using protocols such as Internet Fibre Channel Protocol (iFCP), Fibre Channel over IP (FCIP), and iSCSI. These protocols will be familiar to network managers dealing with clusters and compute servers that utilize remote storage instead of having their own hard drives.
Furthermore, these protocols are frequently used in conjunction with the Bootp network protocol or network BIOS boot programs. Essentially, a device has limited network functionality when it boots and downloads its primary operating system from a NAS box that in turn provides storage services to the operating system and
File server protocols like CIFS and storage protocols like iSCSI offer opportunities for network applications that many developers overlook, especially as more networks such as ZigBee management and control networks are tied into other wired and wireless networks.
NAS RELIABILITY AND STORAGE MANAGEMENT
Basic NAS devices used to have one or two drives, and their management was limited. Now, RAID 0 and 1 are common, and even RAID 5 support is an option on most NAS devices that support four or more drives. RAID support tends to be built into the operating system, but initialization, management, and recovery tend to be more proprietary. Automatic recovery when bad drives are replaced is sometimes a feature, yet there are advantages and disadvantages, making manual recovery initiation often preferable.
Because of RAID and the use of multiple devices, the latest crop of NAS devices needs services such as logical volume management (LVM). LVM is also an application found on Linux with functionality that’s similar to other applications running on other platforms.
LVM sits between physical storage such as drives or iSCSI logical devices and operating-system file system interfaces. It handles mapping from a logical volume to a physical volume. A logical volume can span multiple physical volumes. Likewise, a logical volume can be replicated, as in RAID-style support, across multiple volumes.
Also, LVM is indispensable in cluster environments and on corporate servers where storage requirements change regularly. This type of tool makes migration of data across physical devices transparent. For example, a new physical device can be added to a volume group, allowing that storage to be utilized. Likewise, a volume can be removed but only after LVM moves any data elsewhere within the volume group. There must be enough space left to handle this migration, though, but adding a new volume is easy. With support like iSCSI, the new volume does not even have to be on the same device.
Another neat feature of LVM is its ability to create a snapshot of a logical volume. Snapshots allow the contents of a volume to be frozen so subsequent changes to the original are hidden. This is handy for backups since backing up changing data isn’t usually a good idea. The Linux incarnation of LVM can also allow changes to the snapshot. Additional storage is required in either case to hide changes in the original or to accommodate changes in the snapshot.
Home users can access LVM or LVM-like functionality on some NAS devices. This can be very handy where removable drives are used. Similar care must be taken since removing a disk that’s part of a multidisk LVM volume group without prior notification usually results in the corruption of any data stored on the drive and possibly the entire volume group.
DRDB (Distributed Replicated Block Device) is another form of storage management that can show up in NAS devices, though it’s typically used in high-availability (HA) environments. As is possible with an LVM and iSCSI combination, DRDB replicates data across a network. DRDB storage volume is primarily used to handle the loss of a connection between devices and restoration when a connection occurs. In general, it is easy to think of DRDB as RAID over a network. It depends upon high-speed links such as 1-Gbit Ethernet or faster.
As noted, standard operating systems are often utilized for NAS devices with Web front ends or even for access provided to users or network managers. Most NAS reference design kits come with one or more configurations based on these platforms that incorporate everything from Web-based management to a complement of services such as streaming media support and DLNA.
Designers who are looking for open-source distributions tailored for NAS can check out projects like FreeNAS and Openfiler. Logic Supply delivers the FreeNAS platform with the VIA Technologies ARTiGO A2000. Openfiler exposes iSCSI and LVM support in addition to HA support and block level remote replication. It has a nice and advanced interface for managing CIFS and iSCSI.
Backup software is often viewed from a client perspective and sometimes is based on the client simply using the NAS as a file storage device. More advanced systems incorporate a backup application on the NAS device.
The other type of backup software is for the NAS device itself. It may mean backing up one drive to another. This is different from using one or more additional drives in a RAID configuration since RAID replicates immediately at a block and backups save changes at a set interval. Issues such as snapshot and service backups can complicate backup software considerations.
GPU and NAS?
If things weren’t complicated enough, consider the range of applications being used on a NAS device. CyberLink’s Media Show 5 is a Windows-based consumer application, but many of its features can take advantage of an Nvidia GPU installed on the PC.
For example, its face recognition feature runs orders of magnitude faster if the GPU is used to analyze images. It takes advantage of the CUDA parallel programming framework, which runs on the GPU (see “Software Frameworks Tackle Load Distribution”). The GPU can also be used in transcoding applications from resizing images to transforming video.
It isn’t too far a stretch to assume that a GPU may show up in a NAS platform. This makes a good deal of sense since many of the operations can be performed in the background. Imagine dropping the latest contents of a digital camera into a shared folder on a NAS device. A Media Show-style application could then analyze these images.
This approach has a number of advantages since the NAS box tends to run 24x7 versus a PC that may be turned off or even power down on its own since there’s no user input while the user is grabbing a snack as multiple photos are processed. An even more advanced scenario would find the GPU on a network compute device that processes the data on the NAS device.
I recently spoke with Ali Simnad, director of product marketing and business development with PLX, at the Storage Visions conference in Las Vegas. In addition to discussing the PLX reference design mentioned earlier, we talked about the challenges of NAS developers in handling scenarios such as these in addition to supporting the plethora of NAS options already mentioned.
Ali explained that the wide range of options is one reason developers are interested in not only the reference design hardware but also the software that comes with it. We additionally talked about the challenges of integrated applications across and within NAS devices.
NAS platform designers are discussing these issues, but there is currently no universal environment for deploying, managing, and linking NAS applications and platforms. Still, it’s a long-range goal. Many protocols like DLNA try to address these issues within their more limited purview, yet none address the wide range of possibilities. Frameworks such as Android and OSGi Open Services can help. However, it’s going to be a challenge to bring interests from backup to streaming multimedia under one umbrella.
As you may have guessed, NAS is no longer the simple file server of yore. Developing and incorporating NAS into product designs can be complex and challenging. Likewise, it is clear that multicore and multiprocessor configurations will continue to grow in the NAS arena.