Posts

Showing posts from December 13, 2015

Key Business and Engineering challenges for Startups

Image
We are witnessing a rapidly changing world of technology which has attracted a large number of startups. The allure to launch a tech startup is easy to understand, especially when this industry is attracting large number of investors and venture capitalists year on year. However, journey for a tech startup in not an easy task. It faces many daunting challenges, right from the time when it is just an idea on paper to a full-fledged company that can stand on its own. Sometimes I feel it’s like starting a marriage. At first, everybody seems to be in a dreamland, with a vision to change the world, having great fun and counting profits. But all too soon, reality strikes, product development is stuck at that 90 percent mark, a key person leaves, and customers are talking but not buying. According to me these are some of the top reasons, because of which a startup could possibly fail. Reason 1: Defining the problem statement It is very important for product startups to know w...

Basics of LUN and Target discovery on Windows

Image
During my work with multipathing driver, I came across multiple situations where once devices were removed and added but they did not come back in time. Multi pathing driver would eventually be blamed for not presenting the paths (Since device is not back). I thought to pen down some of the scenarios on how the LUN / targ et disovery happens What happens when you remove/add cable from HBA to switch? HBA(miniport) driver raises "BusChangeDetected" notification to storport driver. Port driver generates "IoInvalidateDeviceRelations" which asks PNP to delete current device list Bus rescan happens and fresh list of LUNs is rebuilt for every target by sending a REPORT_LUNS request to LUN 0 of each target. If the above request fails then storport sends an INQUIRY to LUN 0. If inquiry is successful, INQUIRY will be sent to other luns as well and the list will be built. If INQUIRY fails on LUN 0 then storport moves to next target. Storport then compares this new...