Lines Matching +full:system +full:- +full:control
1 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.2-no-invariants-or-later
4 Scrub Control
7 Copyright (c) 2024-2025 HiSilicon Limited.
11 Invariant Sections, Front-Cover Texts nor Back-Cover Texts.
14 - Written for: 6.15
17 ------------
24 Memory scrubbing is a feature where an ECC (Error-Correcting Code) engine
49 2. On-demand scrubbing for a specific address range or region of memory.
55 The control mechanisms vary across different memory scrubbers. To enable
59 A generic memory EDAC scrub control allows users to manage underlying
60 scrubbers in the system through a standardized sysfs control interface. It
64 Use cases of common scrub control feature
65 -----------------------------------------
70 and software-based memory scrubbers.
73 control over patrol (background) scrubbing (e.g., ACPI RAS2, CXL) and/or
74 on-demand scrubbing (e.g., ACPI RAS2, ACPI ARS). However, the scrub control
76 a standardized, generic sysfs scrub control interface that is accessible to
79 2. User-space scrub controls allow users to disable scrubbing if necessary,
81 rate for performance-aware operations where background activities need to
84 3. User-space tools enable on-demand scrubbing for specific address ranges,
87 4. User-space tools can also control memory DIMM scrubbing at a configurable
96 5. Policy control for hotplugged memory is necessary because there may not
97 be a system-wide BIOS or similar control to manage scrub settings for a CXL
99 balancing reliability against performance, so userspace should control it.
105 ------------------
111 scrub control feature. The device patrol scrub proactively locates and makes
112 corrections to errors in regular cycle. The patrol scrub control allows the
115 The patrol scrub control allows the requester to specify the number of
123 with performance-aware operations which require the background operations to
130 - a feature defined in the JEDEC DDR5 SDRAM Specification (JESD79-5) and
131 allowing DRAM to internally read, correct single-bit errors, and write back
136 per device. The DDR5 ECS feature and thus the ECS control driver supports
139 ACPI RAS2 Hardware-based Memory Scrubbing
145 of the same component in a given system.
148 are specific to memory. RAS2 PCC sub-spaces for memory-specific RAS features
151 The platform can use the hardware-based memory scrubbing feature to expose
152 controls and capabilities associated with hardware-based memory scrub
158 2. Provision for background (patrol) scrubbing of the entire memory system,
159 as well as on-demand scrubbing for a specific region of memory.
165 ARS allows the platform to communicate memory errors to system software.
166 This capability allows system software to prevent accesses to addresses with
168 the system. Only one scrub can be in progress system wide at any given time.
187 The kernel supports an existing control for ARS and ARS is currently not
190 .. [1] https://computeexpresslink.org/cxl-specification/
197 +--------------+-----------+-----------+-----------+-----------+
200 +--------------+-----------+-----------+-----------+-----------+
202 | On-demand | Supported | No | No | Supported |
205 +--------------+-----------+-----------+-----------+-----------+
210 +--------------+-----------+-----------+-----------+-----------+
215 +--------------+-----------+-----------+-----------+-----------+
220 +--------------+-----------+-----------+-----------+-----------+
225 +--------------+-----------+-----------+-----------+-----------+
230 +--------------+-----------+-----------+-----------+-----------+
235 +--------------+-----------+-----------+-----------+-----------+
237 | Scrub | on-demand | No | No | Supported |
240 +--------------+-----------+-----------+-----------+-----------+
245 +--------------+-----------+-----------+-----------+-----------+
248 | EDAC control | | | | |
250 +--------------+-----------+-----------+-----------+-----------+
252 The File System
253 ---------------
255 The control attributes of a registered scrubber instance could be
258 /sys/bus/edac/devices/<dev-name>/scrubX/
261 -----
264 `Documentation/ABI/testing/sysfs-edac-scrub`
266 `Documentation/ABI/testing/sysfs-edac-ecs`
269 --------
277 - Scrubbing is needed at device granularity because a device is showing
280 - Scrubbing may apply to memory that isn't online at all yet. Likely this
281 is a system wide default setting on boot.
283 - Scrubbing at a higher rate because the monitor software has determined that
290 via CXL devices. Device-based scrubbing is used for the first use case
293 When combining control via the device interfaces and region interfaces,
297 `Documentation/ABI/testing/sysfs-edac-scrub`
302 via CXL regions. CXL Regions represent mapped memory capacity in system
304 memory devices with traffic interleaved across them. The user may want to control
311 Region-based scrubbing is used for the third use case described in
327 `Documentation/ABI/testing/sysfs-edac-scrub`
332 checking and correction (ECC) and count single-bit errors. The associated
334 device. CXL ECS control allows the host, thus the userspace, to change the
342 `Documentation/ABI/testing/sysfs-edac-ecs`