Storage subpools

A subpool is a group of logically related storage blocks identified by a subpool number. In a request for virtual storage, a subpool number indicates the type of storage that is requested. Table 1 lists the subpools and their attributes. Be sure to read the notes at the end of the table where applicable.

See z/OS MVS Programming: Authorized Assembler Services Guide for more information about subpools.
Table 1. Storage subpools and attributes
Subpool dec (Hex) Location Fetch protection Type Storage built Owner Storage key See notes
0-127 (0-7F) Private low Yes Pageable Bottom-up Task.

TCB identified in note 11.

Same as TCB key at the time of the first storage request. 1, 6, 8, 10, 14
129 (81) Private low Yes Pageable Bottom-up Job step.

TCB whose address is in TCBJSTCB of TCB identified in note 11.

Selectable. See Table 1. 1, 11, 14
130 (82) Private low No Pageable Bottom-up Job step.

TCB whose address is in TCBJSTCB of TCB identified in note 11.

Selectable. See Table 1. 1, 11, 14
131 (83) Private low Yes Pageable Bottom-up Job step.

TCB whose address is in TCBJSTCB of TCB identified in note 11.

Selectable. See Table 1. 1, 6, 7, 11, 14
132 (84) Private low No Pageable Top-down Job step.

TCB whose address is in TCBJSTCB of TCB identified in note 11.

Selectable. See Table 1. 1, 6, 7, 11, 14
203 (CB) Private ELSQA No DREF Top-down Task.

TCB shown in Table 1.

0 2, 4, 13, 15
204 (CC) Private ELSQA No DREF Top-down Job step.

TCB whose address is in TCBJSTCB of TCB shown in Table 1.

0 2, 4, 13, 15
205 (CD) Private ELSQA No DREF Top-down Address space 0 2, 4, 13, 15
213 (D5) Private ELSQA Yes DREF Top-down Task.

TCB shown in Table 1.

0 2, 4, 13, 16
214 (D6) Private ELSQA Yes DREF Top-down Job step.

TCB whose address is in TCBJSTCB of TCB shown in Table 1.

0 2, 4, 13, 16
215 (D7) Private ELSQA Yes DREF Top-down Address space 0 2, 4, 13, 16
223 (DF) Private ELSQA Yes Fixed Top-down Task.

TCB shown in Table 1.

0 2, 4, 17
224 (E0) Private ELSQA Yes Fixed Top-down Job step.

TCB whose address is in TCBJSTCB of TCB shown in Table 1.

0 2, 4, 17
225 (E1) Private ELSQA Yes Fixed Top-down Address space 0 2, 4, 17
226 (E2) Common SQA/ESQA No Fixed Top-down System 0 3, 5
227 (E3) Common CSA/ECSA Yes Fixed Top-down System Selectable. See Table 1. 1
228 (E4) Common CSA/ECSA No Fixed Top-down System Selectable. See Table 1. 1
229 (E5) Private high Yes Pageable Top-down Task.

TCB shown in Table 1.

Selectable. See Table 1. 1
230 (E6) Private high No Pageable Top-down Task.

TCB shown in Table 1.

Selectable. See Table 1. 1
231 (E7) Common CSA/ECSA Yes Pageable Top-down System Selectable. See Table 1. 1
233 (E9) Private LSQA/ELSQA No Fixed Top-down Task.

TCB shown in Table 1.

0 2, 19
234 (EA) Private LSQA/ELSQA No Fixed Top-down Job step.

TCB whose address is in TCBJSTCB of TCB shown in Table 1.

0 2, 20
235 (EB) Private LSQA/ELSQA No Fixed Top-down Address space 0 2, 21
236 (EC) Private high No Pageable Top-down Task.

TCB identified in note 12.

1 2, 12
237 (ED) Private high No Pageable Top-down Task.

TCB identified in note 12.

1 2, 12
239 (EF) Common SQA/ESQA Yes Fixed Top-down System 0 2
240 (F0) Private low Yes Pageable Bottom-up Task.

TCB identified in note 11.

Same as TCB key at the time of the first storage request. 1, 9, 10, 11, 14
241 (F1) Common CSA/ECSA No Pageable Top-down System Selectable. See Table 1. 1
244 (F4) Private Low No Pageable Bottom-up Job step.

TCB whose address is in TCBJSTCB of TCB identified in note 11.

Selectable. See Table 1. 1, 14
245 (F5) Common SQA/ESQA No Fixed Top-down System 0 2
247 (F7) Common ESQA Yes DREF Top-down System 0 2, 4, 13
248 (F8) Common ESQA No DREF Top-down System 0 2, 4, 13
249 (F9) Private high No Pageable Top-down Job step.

TCB whose address is in TCBJSTCB of TCB shown in Table 1.

Selectable. See Table 1. 1
250 (FA) Private low Yes Pageable Top-Down Task.

TCB identified in note 11.

Same as TCB key at the time of the first storage request. 1, 9, 10, 11, 14
251 (FB) Private low Yes Pageable Bottom-up Job step.

TCB whose address is in TCBJSTCB of TCB shown in Table 1.

Same as TCB key at the time of the first storage request. 1, 10, 14
252 (FC) Private low No Pageable Bottom-up Job step.

TCB whose address is in TCBJSTCB of TCB shown in Table 1.

0 1, 14
253 (FD) Private LSQA/ELSQA No Fixed Top-down Task.

TCB shown in Table 1.

0 2, 18
254 (FE) Private LSQA/ELSQA No Fixed Top-down Job step.

TCB whose address is in TCBJSTCB of TCB shown in Table 1.

0 2, 18
255 (FF) Private LSQA/ELSQA No Fixed Top-down Address space. 0 2, 18
Note:
  1. Virtual storage is first backed by central storage when it is referenced or when it is page-fixed by a program using the PGSER macro. The location of the central storage backing this subpool depends on the value of the LOC parameter on the GETMAIN, STORAGE, or CPOOL macro invocation used to obtain the storage. Central storage is assigned below 16 megabytes only if one of the following is true:
    • The program obtaining the storage specified LOC=BELOW when obtaining the storage.
    • The program obtaining the storage resides below 16 megabytes, specified LOC=RES either explicitly or by default, and specified a subpool supported below 16 megabytes.
  2. Central storage backing this subpool can be above or below 16 megabytes.
  3. Central storage backing this subpool resides below 16 megabytes.
  4. This subpool is valid only when allocating virtual storage above 16 megabytes.
  5. Although central storage for this subpool must be below 16 megabytes, virtual storage for this subpool may be above or below 16 megabytes.
  6. Subpools 0-127, 131, and 132 are the only valid subpools for unauthorized programs. A request by an unauthorized program for a subpool other than 0-127, 131, or 132 causes abnormal termination of the program.
  7. A program can issue a request to obtain or release storage from subpool 131 or 132 in a storage key that does not match the PSW key under which the program is running. However, the system will accept the storage request only if the requesting program is authorized in one of the following ways:
    • Running in supervisor state
    • Running under PSW key 0-7
    • APF-authorized
    • Having a PSW-key mask (PKM) that allows it to switch its PSW key to match the storage key of the storage specified. On a request to release all the storage in the subpool, the program must be able to switch its PSW key to match all the storage keys in the subpool.
    For information about the function and structure of the PKM, and information about switching the PSW key, see Principles of Operation.
  8. Subpool 0 requests by programs in supervisor state and PSW key 0 are translated to subpool 252 requests and assigned a storage key of 0.
  9. Subpool 240 and 250 requests are translated to subpool 0 requests. This permits programs running in supervisor state and PSW key 0 to acquire or free subpool 0 storage. If a program is running in supervisor state and key 0, the system translates subpool 0 storage requests to subpool 252 storage requests.
  10. The system assigns the storage key based on the key in the requesting task's TCB at the time of the task's first storage request, not the current key in the TCB (unless this is the task's first storage request).
  11. The GSPV, SHSPV, and SZERO parameters on the ATTACH or ATTACHX macro invocation used to create the currently active task determine which TCB owns the storage in this subpool. These parameters specify the subpools to be owned by the subtask being attached (GSPV) and the subpools to be shared by the attaching task and the subtask being attached (SHSPV, SZERO). If the currently active task was given ownership of the subpool, then the TCB of the currently active task owns the storage in this subpool. If the currently active task is sharing this subpool with the task that created it, then the TCB of the attaching task owns the storage in this subpool. For more information, see the descriptions of the ATTACH and ATTACHX macros in z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN and the virtual storage management topic in z/OS MVS Programming: Assembler Services Guide.
  12. Virtual storage is located within the scheduler work area (SWA). The storage is freed at the end of the started task or at initiator termination for subpool 236 and at the end of the job for subpool 237. The NSHSPL and NSHSPV parameters on the ATTACH or ATTACHX macro invocation used to create the currently active task determine ownership of the subpool. If the currently active task was given ownership of the subpool, then the TCB of the currently active task owns the storage in this subpool. If the currently active task is sharing this subpool with the attaching task, then the TCB of the attaching task owns the storage in this subpool.

    For more information, see the description of the ATTACH and ATTACHX macros in z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN and the virtual storage management topic in z/OS MVS Programming: Assembler Services Guide. For additional information about the SWA, see z/OS MVS Initialization and Tuning Guide.

  13. If a GETMAIN macro is issued in AMODE 31 for a DREF subpool, the LOC=BELOW parameter is ignored. VSM gives the user storage above 16M.
  14. Central storage backing this subpool can be pageable 1 MB page frames.
  15. Start of changeThese subpools can coexist on the same page of storage.End of change
  16. Start of changeThese subpools can coexist on the same page of storage.End of change
  17. Start of changeThese subpools can coexist on the same page of storage.End of change
  18. Start of changeThese subpools can coexist on the same page of storage.End of change
  19. Start of changeStorage is getmained in subpool 253.End of change
  20. Start of changeStorage is getmained in subpool 254.End of change
  21. Start of changeStorage is getmained in subpool 255.End of change