z/OSintermediate

SMS: Storage Management Subsystem

Understand how SMS automates dataset allocation decisions (which volume, which storage class) based on policy rather than manual specification.

Without SMS, JCL creating a dataset must say which unit and which volume it goes on. SMS replaces that with policy: the system decides from rules.

SMS is an experienced hotel concierge quietly assigning rooms behind the scenes based on a guest's membership tier and stay length, without the guest ever needing to specify a room number, floor, or wing themselves — the concierge's internal rulebook (ACS routines) handles all of that automatically based on who's checking in and why.

Key Concepts

1
    //OUT DD DSN=PROD.NEW.FILE,DISP=(NEW,CATLG),
    //       UNIT=SYSDA,VOL=SER=PRD003,SPACE=(CYL,(10,5))
2
    // with SMS:
    //OUT DD DSN=PROD.NEW.FILE,DISP=(NEW,CATLG),SPACE=(CYL,(10,5))
3
The second is what production JCL looks like today. Where it lands is not the programmer's decision.
4
Four constructs.
    Data Class      record format, LRECL, space defaults --
                    the dataset's shape
    Storage Class   performance and availability requirements --
                    does this need fast storage
    Management Class  backup and migration policy -- how long to keep,
                    when to move it to cheaper storage
    Storage Group   the actual pool of volumes it may be placed on
5
ACS routines choose them. Automatic Class Selection rules run at allocation, looking at the dataset name, its size, the job, the user:
6
    IF &DSN(1) = 'PROD' AND &DSN(3) = 'DB2'
       THEN SET &STORCLAS = 'FASTDISK'
7
Which is why naming conventions matter more than they first appear. The high-level qualifier decides the catalog, the RACF rules, and the storage policy. A dataset created under the wrong HLQ can end up on the wrong class of storage with the wrong backup policy, silently.
8
Management Class is where HSM comes in. A dataset untouched for 30 days can be migrated automatically to cheaper storage or to tape, and recalled on demand when something opens it.
9
That recall is transparent and not instant. A job that suddenly takes four minutes longer to start is often waiting on a recall from tape — which looks like a performance problem and is a storage policy working as designed.
10
What this buys. Storage administrators set policy once rather than reviewing every job's volume choices, datasets land consistently, and capacity can be rebalanced without editing JCL.
11
And what it takes away. A programmer cannot choose the volume, which is occasionally inconvenient and usually correct. If a dataset needs specific characteristics, the way to get them is a storage class request through the rules, not a VOL=SER in the JCL.
VOL=SER
12
What the interviewer is probing.1. "What does SMS automate?" Probing: the purpose. Stalls: "Storage." Moves up: placement — data, storage and management classes decide volume, performance attributes, backup and retention, so JCL does not name volumes.
13
2. "What are the class types?" Probing: the vocabulary. Stalls: "Storage classes." *Moves up:* data class for allocation attributes, storage class for performance and availability, management class for backup and migration, storage group for the pool.
14
3. "What is HSM migration?" Probing: the operational reality. Stalls: "Nothing." Moves up: moving inactive datasets to cheaper storage or tape automatically, which is why a first access after a quiet period can be slow.
15
4. "What is the benefit for the application team?" Probing: the practical angle. Stalls: "None." Moves up: JCL stops encoding physical decisions, so storage can be reorganised without editing hundreds of jobs.