diff --git a/pd-control.md b/pd-control.md
index 30b55e17544e2..709e3637c0259 100644
--- a/pd-control.md
+++ b/pd-control.md
@@ -1336,15 +1336,37 @@ store --jq='.stores[].store | select(.state_name!="Up") | {id, address, state_na
### Query all TiFlash nodes
-{{< copyable "" >}}
-
```bash
store --jq='.stores[].store | select(.labels | length>0 and contains([{"key":"engine","value":"tiflash"}])) | {id, address, state_name}'
```
```
-{"id":1,"address":"127.0.0.1:20161""state_name":"Up"}
-{"id":5,"address":"127.0.0.1:20162""state_name":"Up"}
+{"id":1,"address":"127.0.0.1:20161","state_name":"Up"}
+{"id":5,"address":"127.0.0.1:20162","state_name":"Up"}
+...
+```
+
+### Query TiFlash nodes in the disaggregated storage and compute architecture
+
+Query TiFlash Write Nodes in the [disaggregated storage and compute architecture](/tiflash/tiflash-disaggregated-and-s3.md):
+
+```bash
+store --jq='.stores[].store | select(.labels | length>0 and contains([{"key":"engine","value":"tiflash"}, {"key":"engine_role","value":"write"}])) | {id, address, labels, state_name}'
+```
+
+```
+{"id":130,"address":"172.31.8.1:10161","labels":[{"key":"engine_role","value":"write"},{"key":"engine","value":"tiflash"}],"state_name":"Up"}
+...
+```
+
+Query TiFlash Compute Nodes in the [disaggregated storage and compute architecture](/tiflash/tiflash-disaggregated-and-s3.md):
+
+```bash
+store --jq='.stores[].store | select(.labels | length>0 and contains([{"key":"engine","value":"tiflash_compute"}])) | {id, address, labels, state_name}'
+```
+
+```json
+{"id":131,"address":"172.31.9.1:10161","labels":[{"key":"engine","value":"tiflash_compute"}],"state_name":"Up"}
...
```
diff --git a/tiflash/tiflash-configuration.md b/tiflash/tiflash-configuration.md
index 0ba3b83c37c67..c690a63b625b8 100644
--- a/tiflash/tiflash-configuration.md
+++ b/tiflash/tiflash-configuration.md
@@ -121,6 +121,14 @@ Configure storage path related settings.
- Unit: Byte. Note that human-readable numbers such as `"10GB"` are not supported yet.
- The size of the `capacity` list should be the same with the [`storage.main.dir`](#dir) size.
+#### `storage.api_version` New in v9.0.0
+
+- The API version that TiFlash uses to communicate with PD and TiKV.
+- Value options:
+ - `1`: TiFlash uses API V1 to communicate with PD and TiKV.
+ - `2`: TiFlash uses API V2 to communicate with PD and TiKV to support the multi-tenancy feature.
+- Default value: `1`
+
#### storage.latest
##### `dir`
@@ -438,6 +446,13 @@ Note that the following parameters only take effect in TiFlash logs and TiFlash
- Specifies the minimum ratio of valid data in a PageStorage data file. When the ratio of valid data in a PageStorage data file is less than the value of this configuration, GC is triggered to compact data in the file.
- Default value: `0.5`
+##### `disagg_blocklist_wn_store_id` New in v9.0.0
+
+- In the disaggregated storage and compute architecture, specifies the TiFlash Write Nodes that TiFlash Compute Nodes do not send requests to.
+- The value is a string consisting of `store_id`s separated by `,`. For example, setting it to `"140,141"` means that TiFlash Compute Nodes will not send requests to TiFlash Write Nodes with `store_id` `140` or `141`. You can use [pd-ctl](/pd-control.md#query-tiflash-nodes-in-the-disaggregated-storage-and-compute-architecture) to query the `store_id` of TiFlash Write Nodes in the cluster.
+- If the value is an empty string `""`, it means that TiFlash Compute Nodes send requests to all TiFlash Write Nodes.
+- Default value: `""`
+
##### `max_bytes_before_external_group_by` New in v7.0.0
- Specifies the maximum memory available for the Hash Aggregation operator with the `GROUP BY` key before a disk spill is triggered. When the memory usage exceeds the threshold, Hash Aggregation reduces memory usage by [spilling to disk](/tiflash/tiflash-spill-disk.md).