Archive for March, 2010

Windows Device Driver Testing – A Simplified Approach

Friday, March 12th, 2010 at 3:41 am   - Posted by Subodh Bhide
Development of Windows device drivers was greatly simplified when Microsoft introduced the Windows Driver Foundation (WDF) in 2005-06. WDF gave an object oriented look to the traditional Windows Driver Model (WDM). One of the results was that driver developers could focus on the core functionalities of their device, and could leave the Windows OS specific stuff to the new frameworks.

While the development of device drivers has been simplified, testing them is still like a complex puzzle for many people. The traditional approach is based on ad-hoc means of generating test plans and test cases that treat device drivers as a black box. As a result, critical features are missed out or don’t get enough attention. In this blog post, I will try to structure device driver testing by listing the seven basic areas that need primary attention. Our approach is simple yet comprehensive, and is based on better and systematic analysis of different activities that go on during a driver’s life cycle.

Seven Basic Test Areas of a Windows Device Driver
Windows Device Driver Test Areas

The diagram tries to capture the seven basic test areas for which a Windows device driver needs to be tested. The areas cover almost all of the critical functionalities of a driver, and the interactions it has with different Windows sub-systems.

Breaking the testing approach into crisply defined areas helps in not only streamlining the testing process, but also ensures better quality assurance for the driver through better coverage. Following are some of the key benefits of using this modularized approach.

Seven benefits of using this modularized approach

  1. The approach covers majority of the scenarios any Windows device driver would face in the real world.
  2. The testable areas are directly coupled with the driver’s design and implementation.
  3. It can be applied to majority of the device drivers designed using any model or framework and for any Windows OS versions, starting from Windows 2000.
  4. Allows better categorization in device driver test plans.
  5. Faster and focused methods can be applied for identifying test cases.
  6. Better way to prioritize issues and measure their severity.
  7. The approach does not treat the driver as single isolated entity, but considers dependencies on other sub-systems like Pnp manager, Power manager and other drivers in its stack.


Thinking and treating device drivers in the way described above has led us to streamline and simplify the way we approach testing of device drivers at Harbinger Systems. While there are more areas of a device driver that need to be tested, from our experience, the ones listed above are the most critical. They apply in a majority of scenarios and to almost all the modern device drivers. In a subsequent post, I will try and identify more special testable areas and tools to test them.

 

Are Solid-State Drives blurring the boundaries between Enterprise, Entertainment and Portable storage?

Monday, March 1st, 2010 at 4:19 am   - Posted by Subodh Bhide

In this multi-part series of blog posts, I want to highlight the trends in Solid-State Drives or SSDs as storage devices and understand some of the challenges it faces. We at Harbinger Systems have been testing and developing Windows applications around storage systems for over four years. Based on our experience in working with some of the companies in the industry and interacting with storage industry experts in conferences and expos, it is clear that this space is in the midst of some very important changes. In this first post, we try to understand if Solid-State Drives or SSDs could be the future of storage. In my subsequent post, I will talk about the challenges SSD needs to overcome to attain supremacy.

My initial conclusion is based on the following observations:

Small yet big

SSDs are going against the well known saying, “the bigger the better”. The size of SSDs is decreasing by the day. This is quite evident from the fact that recently Intel and Micron Technology Inc launched a 25 nm NAND device.

Now, even as the physical size of the chip is getting smaller, its storage capacity is on the rise. Some even believe that we have now entered into the Terra Byte era and left behind Giga Byte in 2008. TB is now the new standard for measuring storage capacities.

Also SSD are manufactured in the form of a chip and not magnetic / plastic disks, so they are not restricted by the shape of the disk. This form factor flexibility is much more than just a cosmetic benefit as more and more consumer device manufacturers decide to upgrade the storage capacities of their devices. They can use SSD as SSD can be manufactured in any form to fit into the odd places of any device.

Little SSD crosses big boundaries

Past trends have shown that the storage domain serves three main business areas, 1) Enterprise/Personal, 2) Entertainment and 3) Portable.

So far, each of these areas is served by three separate storage media. Magnetic and network based storage is the most preferred option in enterprise and personal storage. Optical is very dominant in the entertainment industry, while SSD has been widely accepted on portable devices. At some point of time these technologies start to cross their boundaries and peep into the remaining two areas. Here are some possibilities I can visualize with SSD.

SSD in Entertainment – I begin to wonder whether it will be ever possible that a movie is released on a NAND flash instead of a Blu-Ray / DVD. It surely sounds very fascinating, but the hurdles for SSD entering this domain are high. The first one is the cost of production of NAND flash, which is much higher as compared to an optical disk. The second hurdle is the wide spread use of optical media players, many of which don’t have the capability of reading data off a flash drive. I can think of more barriers and similar path-breaking opportunities, but these two issues are so critical that it deters me from putting SSD in the entertainment business anytime in the near future.

SSD in Enterprise – Now this might be a more interesting area for SSD to step into. Gartner research predicts that Enterprise SSD sales could reach 5.3 million units by 2013. Here are just some reasons why this might happen:

  • SSD’s small form factor may give it an edge over the existing bulky magnetic drives.
  • Many enterprises are surging towards greener (energy efficient) work environments. SSD will score a point here over magnetic drives that consume more power because of inner moving parts. In addition, as SSD are solid in nature, they will tend to make less noise as compared to hard disk drives.
  • Modern SSD architecture might have capabilities of outperforming magnetic disks in terms of data transfer speeds.

So far the news has been good for SSD, and it looks all set to enter the Enterprise space. But wait a minute! If it was so easy for SSD, then why is it not there already? In my next post, I will take a look some of the challenges SSD faces in the Enterprise space.

Some more good news for SSD

Consider some of the recent news headlines that are a cause for cheer for SSD:

  • Microsoft Corporation has developed a new File System called exFAT or extended File Allocation Table which is targeted for better serving the flash based storage devices. This file system, which is a successor of the traditional FAT system, is shipped through service packs and newer operating systems like Windows 7.
  • IEEE 1667 specification was formulated in 2007 for creating an authentication standard for USB flash and personal storage devices. If the flash devices are provisioned according to the specification, it can prevent data theft by adding a virtual authentication layer on these devices.
  • There is a relentless battle that is waging between Intel-Micron, SanDisk-Toshiba and Samsung Electronics to attain supremacy in the SSD technology. This clearly bodes well for the technology.
  • Modern day smart phones/OS (like Google Android and Apple iPhone) and tablet PC (like Apple iPad) look at SSD as their primary means of persistent storage.

Based on these, my conclusion thus far is that SSD can certainly be the future of storage. It has a lot of things going for it, but there are some critical challenges that it faces. Could these deter SSD from gaining supremacy? I will evaluate those challenges and opportunities in my next week’s post.