Basics of LUN and Target discovery on Windows

Image result for windows logoDuring 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 / target disovery happens
What happens when you remove/add cable from HBA to switch?

  1. HBA(miniport) driver raises “BusChangeDetected” notification to storport driver.
  2. Port driver generates “IoInvalidateDeviceRelations” which asks PNP to delete current device list
  3. 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.
  4. If the above request fails then storport sends an INQUIRY to LUN 0.
  5. If inquiry is successful, INQUIRY will be sent to other luns as well and the list will be built.
  6. If INQUIRY fails on LUN 0 then storport moves to next target.
  7. Storport then compares this new list with the old and finds out the difference.
  8. For the difference of LUNs a PNP is generated to communicate that change to upper layer drivers on the stack.

To know more email: marketing@calsoftinc.com

Contributed by: Himanshu Sonkar | Calsoft Inc.
 
Share:

Related Posts

Gen AI Trends 2025

Top Generative AI Trends Shaping 2025

Modernization of industries began with the Industrial Revolution in the early 19th Century with the use of machines, and it has continued with the digitization of devices…

Share:
IoT and its Applications in Driving Smart Manufacturing

IoT and its Applications in Driving Smart Manufacturing

The Internet of Things (IoT) is a key element of global industrial transformation, and the manufacturing sector leads in leveraging this technology. The millions of IoT devices,…

Share:
Product Lifecycle Management in Software Development using Large Language Models

Product Lifecycle Management in Software Development using Large Language Models

The data of any organization is of extreme value. But what happens when that data is not trustworthy and accessible to your teams? You will face challenges…

Share:
Kubernetes Introduction and Architecture Overview

Kubernetes: Introduction and Architecture Overview

Containers are taking over and have become one of the most promising methods for developing applications as they provide the end-to-end packages necessary to run your applications….

Share:
How to Perform Hardware and Firmware Testing of Storage Box

How to Perform Hardware and Firmware Testing of Storage Box

In this blog will discuss about how to do the Hardware and firmware testing, techniques used, then the scope of testing for both. To speed up your testing you can use tools mentioned end of this blog, all those tools are available on internet. Knowing about the Hardware/Firmware and how to test all these will help you for upgrade testing of a product which involve firmware

Share:
Cloud Application Development

Challenges of Cloud Application Development

Explore the challenges and solutions of cloud application development, including benefits, performance issues, and overcoming vendor lock-in for seamless cloud integration.

Share: