Secure event delivery using homomorphic encryption

CN122932936APending Publication Date: 2026-10-16SAMSUNG ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610447310.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-08-06
Filing Date
2026-04-07
Publication Date
2026-10-16

Smart Images

  • Figure CN122932936A_ABST
    Figure CN122932936A_ABST
Patent Text Reader

Abstract

An apparatus is disclosed. The apparatus can include a connection to a host or management unit, a medium to store data, and a controller to access the data in the medium based at least in part on a request from the host. A buffer can store a correctable event record, which can include fields. Some of the fields in the correctable event record can be encrypted using a homomorphic encryption (HE) algorithm and an encryption key.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates generally to devices, and more specifically to the secure retrieval of information that has already occurred on the device. Background Technology

[0002] Devices such as storage devices may experience events such as errors accessing data. When such errors occur, the device can store an error log. This error log can include information about addresses within the device where the error occurred. The system can use this error log to predict which addresses within the device might be prone to future errors.

[0003] Information in the incident log still needs to be protected to mitigate security risks. Summary of the Invention

[0004] The device may include a connection to a machine. The device may include a buffer to store encrypted, correctable event logs. The management unit can use these encrypted, correctable event logs to predict events within the device.

[0005] According to embodiments of this disclosure, an apparatus includes: a connection to a host or management unit; a medium for storing data; a controller for accessing the data in the medium at least in part based on a request from the host; a buffer for storing correctable event records, the correctable event records including a first field and a second field, the first field being encrypted using a homomorphic encryption (HE) algorithm and an encryption key; and an HE engine for encrypting the first field in the correctable event records using the HE algorithm, wherein the management unit is configured to predict uncorrectable errors at addresses in the medium at least in part based on the correctable event records, and wherein the encryption key is local to the apparatus.

[0006] According to an embodiment, a method includes: detecting an event in a device; determining whether the event in the device includes a correctable event or an uncorrectable event; adding a correctable event record to a buffer of the device, the correctable event record including a first field and a second field, based at least in part on the fact that the event is a correctable event; and encrypting the first field of the correctable event record using a homomorphic encryption (HE) algorithm and an encryption key, wherein the encryption key is local to the device.

[0007] According to one embodiment, a method includes: requesting a correctable event record from a device at a management unit, the correctable event record including a first field and a second field, the first field being encrypted using a homomorphic encryption (HE) algorithm and an encryption key; receiving the correctable event record from the device at a management unit; applying a prediction algorithm to the correctable event record at the management unit to generate an encrypted address list; sending the encrypted address list from the management unit to the device; and receiving a decrypted address list from the device at the management unit, wherein the encryption key is local to the device. Attached Figure Description

[0008] The accompanying drawings described below are examples of how embodiments of this disclosure may be implemented and are not intended to limit the scope of embodiments of this disclosure. Various embodiments of this disclosure may include elements not shown in specific drawings and / or elements shown in specific drawings may be omitted. The drawings are intended to provide illustration and may not be drawn to scale.

[0009] Figure 1 A machine having a device capable of generating correctable event logs is shown according to an embodiment of the present disclosure.

[0010] Figure 2 Embodiments according to this disclosure are shown Figure 1 Details of the machine.

[0011] Figure 3 This illustration shows connections to various machines and according to embodiments of the present disclosure. Figure 1 The server Figure 1 The equipment.

[0012] Figure 4 The embodiments shown in this disclosure can be implemented... Figure 1 An example of the event logging format used in the device.

[0013] Figure 5 This illustrates how embodiments of the present disclosure can be implemented. Figure 1 Generated in the device Figure 3 Correctable event logs.

[0014] Figure 6 Embodiments according to this disclosure are shown Figure 1 How can the server be used in Figure 1 In the device Figure 5 Correctable event records can be used to predict future events.

[0015] Figure 7 Embodiments according to this disclosure are shown Figure 1 The server uses Figure 5 A flowchart illustrating an example process of using correctable event logs to predict future events.

[0016] Figure 8 Embodiments according to this disclosure are shown Figure 1 Alternative implementation methods for the device.

[0017] Figure 9 Embodiments according to this disclosure are shown Figure 1 Equipment generation Figure 5 A flowchart of an example process for correctable event logging.

[0018] Figure 10 Embodiments according to this disclosure are shown Figure 1 Device storage Figure 3 A flowchart of an example process for logging uncorrectable events.

[0019] Figure 11 Embodiments according to this disclosure are shown Figure 1 The flowchart shows an example process by which the device determines that an event has occurred.

[0020] Figure 12 Embodiments according to this disclosure are shown Figure 1 equipment and Figure 1 A flowchart illustrating an example process for sharing event logs on a server.

[0021] Figure 13 Embodiments according to this disclosure are shown Figure 1 Equipment processing from Figure 1 The server receives Figure 6 The flowchart shows an example process for creating a list of encrypted addresses.

[0022] Figure 14A Embodiments according to this disclosure are shown Figure 1 The server from Figure 1 Device request Figure 5 A flowchart of an example process for logging and handling correctable events.

[0023] Figure 14B continue Figure 14A The flowchart illustrates an embodiment of the present disclosure. Figure 1 The server from Figure 1 Device request Figure 5 An example process for logging and handling correctable events.

[0024] Figure 15A Embodiments according to this disclosure are shown Figure 1 The server from Figure 1 A flowchart illustrating an example process for logging and storing device request events.

[0025] Figure 15B continue Figure 15AThe flowchart illustrates an embodiment of the present disclosure. Figure 1 The server from Figure 1 This is an example process for logging and storing device request events.

[0026] Figure 16 Embodiments according to this disclosure are shown Figure 1 server processing Figure 5 A flowchart of an example process for correctable event logging.

[0027] Figure 17 An embodiment of the invention is shown. Figure 1 The server is based on Figure 1 The device receives and decrypts the address list update. Figure 6 A flowchart of an example process for a database. Detailed Implementation

[0028] Reference will now be made in detail to embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. Numerous specific details are set forth in the following detailed description to enable a thorough understanding of the present disclosure. However, it should be understood that those skilled in the art can practice the present disclosure without these specific details. In other instances, well-known methods, processes, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.

[0029] It should be understood that although the terms first, second, etc., may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, without departing from the scope of this disclosure, a first module may be referred to as a second module, and similarly, a second module may be referred to as a first module.

[0030] The terminology used in the description of this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of this disclosure. As used in the description of this disclosure and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and / or,” as used herein, refers to and covers any and all possible combinations of one or more of the associated listed items. It will be further understood that, when used in this specification, the terms “comprising” and / or “including” specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or combinations thereof. Components and features in the accompanying drawings are not necessarily drawn to scale.

[0031] Devices can be used to store data for a host. These devices can be, for example, storage devices that can use volatile storage devices, such as dynamic random access memory (DRAM). However, such volatile storage devices may experience events that indicate problems or potential problems with the volatile storage device, such as errors.

[0032] Networks that include devices with volatile storage can also include a Reliability, Availability, and Serviceability (RAS) server, which can be responsible for tracking which parts of the devices may be failing. The RAS server can propagate information about such potentially failing parts to other host machines, preventing them from attempting to use those parts.

[0033] RAS servers can also attempt to predict which parts of the device might fail in the future. Making such predictions may require information about events that have already occurred in the device, particularly those that have been corrected internally. However, device manufacturers may want to keep the technology for correcting events proprietary and may not want to release data about correctable events.

[0034] Embodiments of this disclosure address these problems by encrypting correctable event records using a homomorphic encryption algorithm. By using a homomorphic encryption algorithm, the RAS server can attempt to make predictions about the device without possessing unencrypted data about the problem. Predictions can be made using a prediction algorithm that can be modified to perform mathematical operations on the encrypted correctable event records using a homomorphic encryption library. The result of such predictions can be an encrypted list of addresses of parts of the device that may become faulty. The RAS can then return the encrypted address list to the device, which can decrypt the address list without revealing any proprietary information from the correctable event records.

[0035] Embodiments of this disclosure may provide various features. These features may include, for example, a novel event logging format for homomorphic encryption, which can be used for correctable error (CE) events. These CE events may be logged in a device-specific CXL mailbox and may reflect typical event logging with modifications specific to the CE event. At least some, and possibly all, of the event data in the CE event may be encrypted. Encryption (using, for example, a homomorphic encryption algorithm) enables the protection of sensitive data associated with the CE event and can be performed using a hardware encryption engine.

[0036] Encrypted data from CE events can be sent to the CXL system RAS management unit. Because sensitive information related to CE events can be encrypted, this sensitive information can remain protected.

[0037] The CXL system RAS management unit can use encrypted event logs to predict potential uncorrectable errors in CXL devices. This prediction can be performed using encrypted CE events, and the prediction result, which can remain encrypted, can be returned to the CXL device for decryption. For example, the CXL system RAS management unit can use the `get_decryptedDPA mailbox` command to request the decryption result of the prediction. This `get_decryptedDPA mailbox` command can be vendor-specific, with opcodes (such as `get_decrypted_DPA`), payload inputs (such as a homomorphically encrypted DPA and possibly an evaluation key), and payload outputs (such as a decrypted DPA). The CXL device can use a homomorphic encryption (HE) engine, using the evaluation key (if provided), to perform decryption to generate and return the decrypted DPA.

[0038] The decrypted DPA can be viewed as a "poison list" by the CXL System RAS Management Unit, identifying storage areas within the CXL device that are flagged as potentially having unrecoverable faults in the near future. This poison list can then be used to update the Faulty Page List (FPL) maintained by the CXL System RAS Management Unit, which can then be propagated to the hosts of the CXL system. This propagation helps ensure that all hosts are aware of potentially faulty storage areas and can take appropriate actions, such as isolating or remapping affected addresses, to prevent further problems or system instability.

[0039] CXL System-Level RAS Based on Homomorphic Encryption

[0040] Vendor-specific CXL mailboxes can allow sensitive internal device data to be transmitted to dedicated users, such as system administrators. Once the data is received, the host can store it in a database for processing and management. However, storing and processing this sensitive data in a database raises security concerns because administrators or other authorized users can access the raw data parsed from Correctable Error (CE) event log format. Despite access controls, this still presents a potential risk of exposing critical internal device information to unauthorized parties.

[0041] To mitigate these security risks, embodiments of this disclosure can apply homomorphic encryption (HE) to the CXL system-level RAS architecture. Homomorphic encryption allows data to be processed and analyzed without decryption, ensuring sensitive information remains secure while still enabling valuable operations such as error prediction, monitoring, and system management. Homomorphic encryption is an encryption system that includes the property that operations on encrypted data are equivalent to operations on unencrypted data, and then the encryption is applied to the result. In the equation, the homomorphic encryption system includes the property Op(HE(u),HE(v))=HE(Op(u,v)). Using homomorphic encryption ensures that even if data is stored or transmitted in encrypted form, it can still be used for critical RAS operations without the risk of exposing the original device data.

[0042] Embodiments of this disclosure may include event logging for homomorphic encryption in dynamic random access memory (DRAM). This format can be copied for use with homomorphic encryption. Key information for predicting uncorrectable errors includes rows, columns, counts, DPA (Device Physical Address), and an overflow counter.

[0043] To enhance security, the topics disclosed herein may include support for encrypted DRAM event logging formats to ensure that sensitive data remains protected from unauthorized access. The get_ce_event_record format is designed to replicate the structure of the get_event_record buffer, with the key difference being that get_ce_event_record stores correctable error (CE) events.

[0044] Figure 1 A machine having a device capable of generating correctable event logs is shown according to an embodiment of the present disclosure. Figure 1 In this context, machine 105—also referred to as a host or system—may include processor 110, memory 115, and storage device 120. Although Figure 1 A storage device 120 is shown, but embodiments of this disclosure may include any number of storage devices 120.

[0045] Processor 110—also referred to as the host processor—can be any type of processor. (For ease of illustration, processor 110 and other components discussed below are shown external to the machine: embodiments of this disclosure may include these components internal to the machine.) Although Figure 1A single processor 110 is shown, but machine 105 may include any number (one or more, but not limited to) of processors, each of which may be a single-core or multi-core processor, each of which may implement a reduced instruction set computer (RISC) architecture or a complex instruction set computer (CISC) architecture (and other possibilities), and may be mixed in any desired combination.

[0046] Processor 110 may be coupled to memory 115. Memory 115—which may also be referred to as main memory—can be any type of memory, such as flash memory, dynamic random access memory (DRAM), static random access memory (SRAM), persistent random access memory, ferroelectric random access memory (FRAM), or non-volatile random access memory (NVRAM), such as magnetoresistive random access memory (MRAM). Memory 115 can also be any desired combination of different memory types and can be managed by memory controller 125. Memory 115 can be used to store data that may be referred to as “short-term”: that is, data that is not expected to be stored for a long time. Examples of short-term data may include temporary files, data used locally by the application (which may have been copied from other storage locations), etc.

[0047] Processor 110 and memory 115 can also support various operating systems on which applications can run. These applications can issue requests (which may also be referred to as commands) to read data from or write data to memory 115 or storage device 120. While memory 115 can be used to store data considered "short-term," storage device 120 can be used to store data considered "long-term": that is, data that is expected to be retained for a longer period of time and should be persisted even if power supply to machine 105 should be interrupted. Storage device 120 can be accessed using device driver 130. Although Figure 1 A device driver 130 is shown for managing access to storage device 120, but embodiments of this disclosure may include more than one device driver 130, each device driver for managing access to different storage devices 120, or a single device driver 130 may be used to manage access to all storage devices 120.

[0048] Storage device 120 can be associated with an accelerator. Such an accelerator can be used for, for example, near-data processing. That is, the accelerator can be used to process data closer to storage device 120 to reduce or eliminate data transfer from storage device 120 to memory 115. Using an accelerator for near-data processing can also offload processing from processor 110, as the accelerator can perform such processing in place of processor 110. Like processor 105, such an accelerator can implement a Reduced Instruction Set Computer (RISC) architecture or a Complex Instruction Set Computer (CISC) architecture (among other possibilities), and can be implemented using, for example, a Central Processing Unit (CPU), a Field Programmable Gate Array (FPGA), an Application-Specific Integrated Circuit (ASIC), a System-on-Chip (SoC), a Graphics Processing Unit (GPU), a General Purpose GPU (GPGPU), a Neural Processing Unit (NPU), or a Tensor Processing Unit (TPU).

[0049] The combination of storage device 120 and the accelerator may also be referred to as a computing storage device, a computing storage unit, or a computing device. Storage device 120 and the accelerator may be designed and manufactured as a single integrated unit, or the accelerator may be separate from storage device 120. The phrase "associated with" is intended to cover both a single integrated unit comprising both the storage device and the accelerator, and both storage devices paired with the accelerator but not manufactured as a single integrated unit. In other words, they may be said to be "paired" when the storage device and the accelerator are physically separate devices but connected in a manner that enables them to communicate with each other. Furthermore, throughout the remainder of this document, any reference to storage device 120 may be understood to refer to storage device 120 and the accelerator, either physically separate but paired (and thus may include another device), or two devices integrated into a single component as a computing storage unit.

[0050] Although Figure 1 The term "storage device" is used, but embodiments of this disclosure may include any storage device format that can be associated with computing storage, examples of which may include hard disk drives and solid-state drives (SSDs). Additionally, in a system including multiple storage devices 120, the storage devices 120 may be of the same or different types. For example, one storage device 120 may be an SSD, while another storage device 120 may be a hard disk drive. Any references below to a specific type of storage device, such as "SSD," should be understood to include such other embodiments of this disclosure.

[0051] Processor 110 and storage device 120 can cross the architecture ( Figure 1(Not shown in the diagram) communicates. This structure can be any structure along which information can be passed. Such a structure can include structures that can be internal to machine 105 and can use interfaces such as Peripheral Component Interconnect Rapid (PCIe), Serial AT Accessory (SATA), or Small Computer System Interface (SCSI). Such a structure can also include structures that can be external to machine 105 and can use interfaces such as Ethernet, Infinite Bandwidth, or Fibre Channel. Additionally, such a structure can support one or more protocols, such as Non-Volatile Memory Rapid (NVMe), Architectural NVMe (NVMe-oF), Simple Service Discovery Protocol (SSDP), or Cache Coherent Interconnect Protocol. Therefore, such a structure can be considered to include internal and external network connections through which commands can be sent directly or indirectly to storage device 120. In embodiments of this disclosure where such a structure supports external networking connections, storage device 120 can be located external to machine 105, and storage device 120 can receive requests from a processor remote from machine 105.

[0052] In addition to (or instead of) memory 115 and storage device 120, machine 105 may include device 135. Device 135 may be a device for storing data. Although Figure 1 Device 135 is shown as part of machine 105, but some embodiments of this disclosure may include device 135 as a stand-alone device not embodied in any machine. Device 135 may include storage medium 140 (such as a volatile or non-volatile storage device) and controller 145 for managing access to data in the storage medium. For example, storage medium 140 may be DRAM, in which case controller 145 may be a memory controller (similar to memory controller 125). Alternatively, storage medium 140 may be flash memory, in which case controller 145 may be a flash media controller (which may include a flash translation layer to map logical addresses used by processor 110 to physical addresses in flash memory). Reference is made below. Figure 3 and Figure 6-8 Further details about device 135 will be discussed.

[0053] In some embodiments of this disclosure, device 135 may support a cache coherent interconnect protocol. In some embodiments of this disclosure, the cache coherent interconnect protocol may be the Compute Express Link® (CXL®) protocol. (Compute Express Link and CXL are registered trademarks of the Compute Express Link Consortium in the United States.) Therefore, device 135 may use protocols such as CXL.io, CXL.mem, and / or CXL.cache to access data. For example, device 135 may be accessed using only the CXL.mem protocol, where device 135 presents its entire address space as if it were memory 115.

[0054] One advantage of device 135 using the CXL protocol for communication is that the CXL protocol can support mailbox features. Device 135 can implement a mailbox, which can be, for example, a vendor-specific mailbox, and can support the retrieval of event logs, such as correctable or uncorrectable event logs.

[0055] In some embodiments of this disclosure, device 135 may support asynchronous memory access; in other embodiments, device 135 may support synchronous memory access, although supporting synchronous memory access may require some modifications to how memory is accessed within device 135. For example, while memory can be accessed asynchronously using the CXL protocol, other forms of memory (e.g., dual data rate 5 (DDR5) memory) may be synchronous memory.

[0056] Machine 105 (or device 135, in embodiments of this disclosure, wherein device 135 is a separate device independent of machine 105) can be connected to network 150. Other machines, such as machine 105, can also be connected to network 150. Figure 1 (Not shown in the diagram) and server 155. Server 155 may be, for example, a reliability, availability, and serviceability (RAS) server. Among other functions, server 155 may also attempt to predict addresses in device 135 that may be subject to future events, such as errors. Server 155 may also be referred to as a RAS server, management unit, or RAS management unit; in some embodiments of this disclosure, the term "management unit" may also be used to refer to the software or hardware in server 155 that implements the reliability, availability, and serviceability functions of server 155. References below Figure 6 Further discussion on server 155.

[0057] CXL is a high-speed, low-latency, open-standard interconnect technology that enables efficient communication between a CPU and one or more connected devices, such as accelerators, memory expansion devices, or other hardware. For example, one or more connected devices can be built on the PCIe physical layer. PCIe is a high-speed interface standard used to connect various internal components of a computer system, such as graphics cards, network cards, memory controllers, and / or other devices.

[0058] CXL can improve the performance and efficiency of data-intensive applications by creating a unified storage space and allowing devices to directly access each other's memory, thereby minimizing CPU involvement and data movement. CXL can maintain memory consistency between the CPU and one or more connected devices, ensuring that each of the devices and the CPU sees the same data. CXL can provide efficient sharing of resources (such as memory) between the CPU and connected devices, resulting in higher performance and reduced software stack complexity.

[0059] Embodiments of this disclosure relate to using homomorphic encryption to provide secure fast compute link (CXL) event delivery for a system-level RAS in a CXL pooled architecture. The RAS involves the design and implementation of features that enhance system robustness, ensuring system operability, minimizing downtime, and facilitating maintenance. The system-level RAS can implement measures to prevent hardware failures and can be designed to detect and remove faults. Mechanisms can be provided to detect, correct, and recover from errors without interrupting system operation. Data integrity metrics can be used to provide data accuracy and consistency even in the face of errors or failures. Predictive maintenance can enable features that allow proactive identification and replacement of faulty components, thereby reducing unplanned downtime.

[0060] Figure 2 Embodiments according to this disclosure are shown Figure 1 Details of machine 105. In Figure 2Typically, machine 105 includes one or more processors 110, which may include a memory controller 125 and a clock 205, which can be used to coordinate the operation of components of machine 105. Processor 110 may also be coupled to memory 115, which, for example, may include random access memory (RAM), read-only memory (ROM), or other state-saving media. Processor 110 may also be coupled to storage device 120 and to network connector 210, which may be, for example, an Ethernet connector or a wireless connector. Processor 110 may also be connected to bus 215, to which user interface 220 and input / output (I / O) interface ports may be attached, which may be managed using I / O engine 225 and other components.

[0061] Figure 3 The connection shown is based on an embodiment of this disclosure. Figure 1 Various machines 105 and servers 155 Figure 1 Equipment 135-1. In Figure 3 In this context, device 135-1 is one of several devices 135-1, 135-2, and 135-3 shown as part of the overall system. Although Figure 3 More details about device 135-1 are shown, but devices 135-2 and 135-3 can be designed similarly and can include elements similar to those in device 135-1. Devices 135-1, 135-2, and 135-3 can be collectively referred to as device 135.

[0062] Figure 3 A device 135 connected to switch 305 is shown. To support this communication, device 135-1 may include connection 310. Connection 310 may be any kind of interface, such as connecting device 135-1 to switch 305. For example, connection 310 may be an Ethernet port. Alternatively, connection 310 may be an edge connector designed to fit into a suitable slot in switch 305. Embodiments of this disclosure may support any desired form for connection 310.

[0063] Device 135-1 may also include buffers 315-1 and 315-2, each of which can be used to store event records. For example, buffer 315-1 may store uncorrectable event records 320, and buffer 315-2 may store correctable event records 325 (buffers 315-1 and 315-2 may be collectively referred to as buffer 315). It is possible that at any given time, device 135-1 may have more than one event record: for example, device 135-1 may have multiple uncorrectable event records 320 and / or multiple correctable event records 325. In this case, buffer 315 may store a list of uncorrectable event records 320 and / or correctable event records 325. Although in Figure 3 Not shown, but device 135-1 may also include an additional buffer for storing a poison list. The poison list is defined as a list of addresses that have been flagged as having experienced an event and should not be used to store data for machine 105 in some embodiments of this disclosure.

[0064] Switch 305 is shown as a CXL switch. (See above reference.) Figure 1 The use of cache-coherent interconnect protocols, such as the CXL protocol, may be advantageous: switch 305 can therefore support the use of such protocols. As a specific example, if switch 305 is a CXL switch, then switch 305 can support access to mailboxes (such as vendor-specific mailboxes) in device 135.

[0065] Switch 305 may include its own connector 330-1, which enables communication with device 135-1. Connector 330-1 may be of a suitable type corresponding to connector 310. Therefore, if connector 310 is a CXL port, connector 330-1 may also be a CXL port, which can be connected using CXL extension cables or devices such as Mini Cooled Edge Input / Output (MCIO), Quad Small Form Factor Pluggable (QSFP), QSFP Dual Density (QSFP-DD), or Open Compute Project Network Interface Card (OCP NIC) 3.0, allowing device 135-1 and switch 305 to communicate. Such cables or devices can communicate using the CXL protocol (which can be transmitted via PCIe). Alternatively, if connector 310 is an edge connector, connector 330-1 may be a slot into which edge connector 310 can be fitted. Like connector 310, connector 330-1 can take any design form. Switch 305 may also have connectors 330-2 and 330-3 to support connections to devices 135-2 and 135-3. Connectors 330-1, 330-2 and 330-3 may be collectively referred to as connector 330.

[0066] Switch 305 may also include connections 335-1, 335-2, and 335-3 to machines 105-1, 105-2, and 105-3—which may be collectively referred to as machine 105—which may be collectively referred to as connection 335. (In Figure 3 In, with Figure 1 In contrast, device 135 is depicted as a standalone device rather than part of machine 105, and therefore a separate connection to switch 305. However, device 135 could also be part of another machine 105. Connection 335 can be any desired form of connector. For example, if machine 105 communicates with switch 305 using an Ethernet link, then connection 335 could be an Ethernet connection. Embodiments of this disclosure can also support any other desired form of connection.

[0067] Although Figure 3 The illustration shows switch 305 connected to three devices 135 and three machines 105; however, embodiments of this disclosure can support any number (one or more) of devices 135 and any number (one or more) of machines 105. Furthermore, the number of devices 135 can differ from the number of machines 105. Finally, while each machine 105 and each device 135 can support the same type of connection to switch 305, embodiments of the invention can support mixed connection types as needed. Therefore, connections 330 and 335 can all be the same or different types of connections in any desired combination.

[0068] Additionally, switch 305 may include connection 340 to enable connection to server 155. Although Figure 3 Different reference numerals are used to illustrate connection 340 to server 155 and connection 335 to machine 105, but it should be understood that... Figure 3 This is merely an attempt to illustrate that server 155 can be different from machine 105, or connection 340 can be different from connection 335. Therefore, like connection 335, connection 340 can take any desired form.

[0069] As described above, device 135 can generate uncorrectable event logs 320 and correctable event logs 325. As the names suggest, these event logs can reflect events that have occurred in device 135 and may be uncorrectable or correctable. These logs can take various forms. Figure 4 An example record format that can be used by device 135 is shown.

[0070] Figure 4 The embodiments shown in this disclosure can be implemented... Figure 1 An example of the event logging format used in device 135. Figure 4The image shows event record 405. Event record 405 can be a general event record, which may include various fields 410-1 to 410-7 (collectively referred to as field 410). For example, field 410-1 may be an event record identifier (ID), which may include a universally unique ID (UUID) specific to that event record format. By examining field 410-1, the system (such as...) Figure 1 The server (155) can determine how to interpret the remaining data in event log 405.

[0071] Other fields may also contain other relevant information. For example, field 410-2 may specify how long the event record is, field 410-3 may include bits specifying information about the event, such as its severity (from informative to fatal), its persistence, whether the device requires maintenance, and whether any hardware in the device needs to be replaced, field 410-4 may include a handle to identify the event in another way, field 410-5 may specify when the event occurred, and field 410-7 may include various data about the event.

[0072] Note that each field 410 can include its own length. For example, field 410-1 can be 16 bytes long, field 410-2 can be 1 byte long, field 410-3 can be 3 bytes long, and so on. Note that the separators between fields are marked using hexadecimal boundaries 0h, 10h, 11h, 14h, 16h, 20h, 30h, and 80h.

[0073] on the other hand, Figure 4 Event record 415 is also shown. Event record 415 may represent a specific type of event record specific to a DRAM event. Event record 415 may include fields similar to those of event record 405, but may also include other fields specific to DRAM events. Thus, for example, field 420-1 may be similar to field 410-1, but other fields 420-2 through 420-9 may be unique to event record 415. For example, a DRAM memory event may include fields such as: field 420-3, which may specify the physical address of the device where the error occurred; field 420-4, which may specify the descriptor of the memory event; field 420-5, which may specify the event type of the memory event; and field 420-6, which may specify the transaction type of the memory event.

[0074] Similar to event log 405, each field 420 in event log 415 can include its own length. For example, field 420-1 could be 16 bytes long, field 420-2 could be 32 bytes long, field 420-3 could be 8 bytes long, and so on. Again, the separators between fields are marked using hexadecimal boundaries 0h, 10h, 30h, 38h, 39h, 3Ah, 3Bh, 44h, 47h, 49h, and 69h.

[0075] If the event is correctable, event log 415 may also include information about how the device attempted to correct the event. For example, if the event involves a misread of some data from an address in the device's DRAM that was corrected using some error-correcting codes implemented in the device, that information may be included in event log 415.

[0076] However, if event log 415 is... Figure 3 If the correctable event log 325 and event log 415 include information about how the device corrected the event, then event log 415 may reveal information that the device manufacturer might want to keep confidential. If event log 415 is subsequently released without encryption, the supplier may be releasing some secrets.

[0077] One solution is to only publish Figure 3 Uncorrectable event log 320: that is, not published. Figure 3 Correctable event log 325. However, due to Figure 3 The Uncorrectable Event Log 320 only provides information about uncorrectable events, therefore Figure 3 The uncorrectable event log 320 is unlikely to be sufficient to make Figure 1 Server 155 makes any predictions about where future events might occur.

[0078] Embodiments of this disclosure can be encrypted Figure 3 The correctable event log 325 enables their publication. Any encryption algorithm that allows mathematical operations to be performed on the data in event logs 405 and 415 and ultimately decoded from the encrypted record can be used. Homomorphic encryption algorithms are an example of a type of encryption algorithm that enables such mathematical operations and eventual decoding, but any other encryption algorithm that allows data to be successfully decoded after mathematical operations can be used. In the following discussion, any reference to homomorphic encryption algorithms can be understood to also refer to any non-homomorphic encryption algorithms that achieve decoding after mathematical operations.

[0079] Figure 5 This illustrates how embodiments of the present disclosure can be implemented. Figure 1 Generated in device 135 Figure 3Correctable event log 325. In Figure 5 The diagram illustrates the use of homomorphic encryption 505 to encrypt event record 415, which generates correctable event record 325. Homomorphic encryption 505 is an encryption algorithm in which mathematical operations on data are unaffected by encryption. Therefore, for example, if f(x) is some mathematical operator on x, and g(x) is a homomorphic encryption algorithm, then f(g(x)) = g(f(x)). In other words, mathematical operations on data encrypted using a homomorphic encryption algorithm are equivalent to homomorphic encryption of mathematical operations on unencrypted data.

[0080] Like any encryption algorithm, homomorphic encryption can use encryption key 510 to encrypt data. Therefore, without a proper decryption key (which could be encryption key 510 if homomorphic encryption 505 is a symmetric homomorphic encryption algorithm, or a separate key if homomorphic encryption 505 is an asymmetric homomorphic encryption algorithm), the original data in correctable event record 325 may not be recoverable. Encryption key 510 can be local to device 135: that is, encryption key 510 can be used solely by device 135 and not in conjunction with any other device 135. Figure 1 Machine 105 or Figure 1 The server is shared by 155.

[0081] Correctable event log 325 may include fields 515-1 to 515-9, which can be collectively referred to as field 515. Fields 515-4, 515-5, and 515-6 are due to... Figure 5 The space in the record is not marked, but can be understood as being included in the correctable event record 325.

[0082] Note that homomorphic encryption 505 may result in fields with different lengths than those in event log 415. For example, while field 420-1 may be 16 bytes long, it is not guaranteed that field 515-1 is 16 bytes long. In fact, the length of each field 515 can be different from the length of the field 420 before encryption.

[0083] It is also worth noting that field 420 can be encrypted individually, rather than encrypting the entire event record 415. In this way, some fields 515 in the correctable event record 325 can remain unencrypted. For example, event record ID 420-1 could be a UUID identifying the event type: encrypting this value might result in an incorrect identifier after mathematical operations. Assuming that the individual fields 420 do not contain... Figure 1 If the manufacturer of device 135 wants to keep any data confidential, then field 515 can remain unencrypted, with only the essential fields encrypted. Therefore, for example, field 515-1 can remain unencrypted, but field 515-3 can be encrypted.

[0084] Embodiments of this disclosure may include examples of processes that can be performed by an online UE prediction module within a CXL management system. In this example, the CXL management system can be used as a RAS system management unit. Depending on the chosen algorithm, the module utilizes three key databases as inputs for UE prediction:

[0085] 1. HE CE Database (HE CE DB) - Can store homomorphically encrypted, error-correctable data.

[0086] 2. Poison List Database (Poison List DB) – This can contain a list of poisoned DPAs identified from poison_list, as well as previous incorrect predictions.

[0087] 3. Event Log Database (Event Log DB) - This database can store accumulated non-sensitive event data for further analysis and prediction.

[0088] In this exemplary architecture, UE prediction can be centralized within the CXL RAS management unit, meaning that UE prediction is not performed on the host side. All prediction and error management tasks can be processed at the system level, thereby ensuring consistency and security in error detection and handling across the entire system.

[0089] Embodiments of this disclosure may include examples of a HE-based CXL management system. In this exemplary architecture, the CXL management system can be used as a RAS system management unit. One or more CXL devices may be equipped with an HE hardware engine and may support two event logging types via the CXL mailbox interface: get_event_record and get_ce_event_record. CE events can be encrypted and decrypted by the HE hardware engine before being delivered to the RAS system management unit. In some examples, the CXL management system may be used to implement a memory pooling architecture.

[0090] Figure 6 Embodiments according to this disclosure are shown Figure 1 How can server 155 be used? Figure 1 Device 135 Figure 5 The correctable event log 325 is used to predict future events. Figure 6 In the diagram, device 135 is shown as including buffers 315-1, 315-2, and 315-3, which can respectively store an uncorrectable event record 320 and a correctable event record 325 (which can be referenced above). Figure 5The correctable event log 325 is shown with cross-shading to reflect that it is encrypted (in whole or in part); the uncorrectable event log 320 and the poison list 605 may be unencrypted because they may not contain any data to be protected. Encryption of the correctable event log 325 using homomorphic encryption 505 and encryption key 510 can be performed as step 1 (as discussed). Figure 6 (as shown in circle 1).

[0091] In step 2, device 135 may provide server 155 with uncorrectable event log 320, correctable event log 325, and poison list 605. Server 155 may include a receiver ( Figure 6 (Not shown in the image) to receive uncorrectable event log 320, correctable event log 325, and poison list 605 from device 135. Because correctable event log 325 can be encrypted, it can be secure to prevent interception by someone who intercepts any data sent from device 135 to server 155. For example, device 135 can support a mailbox that can be used to request information from buffer 315 in device 135. Device 135 can use multiple different mailboxes to support access to uncorrectable event log 320, correctable event log 325, and poison list 605. For example, one mailbox can be used to provide access to uncorrectable event log 320 and poison list 605 (because this data is not encrypted), but different vendor-specific mailboxes can be used to provide access to correctable event log 325.

[0092] In step 3, server 155 may store uncorrectable event record 320, correctable event record 325, and poison list 605 in databases 610-1, 610-2, and 610-3 (which may be collectively referred to as database 610). Note that database 610 may store multiple devices 135 (such as...) Figure 3 Information from devices 135-1, 135-2, and 135-3. Therefore, d1 can be data from the first device 135, d2 can be data from the second device 135, d3 can be data from the third device 135, and d4 can be data from the fourth device 135. Although Figure 6 Database 610 is shown as storing data from four devices 135, but embodiments of this disclosure may include database 610 storing information from any number (one or more) of devices 135. Furthermore, although Figure 6A single server 155 is shown operating on data from device 135, but embodiments of this disclosure may include two or more servers 155 that may operate together to process data from device 135, or they may operate individually (each server 155 processing data from a different device 135).

[0093] Note that, although Figure 6 Three separate databases are shown for the uncorrectable event log 320, the correctable event log 325, and the poison list 605. However, embodiments of this disclosure may store all three in a single database 610, rather than storing each in a separate database. Furthermore, note that the correctable event log 325 is stored in encrypted form in database 610-1 because server 155 may not be able to access the encryption key 510 used by device 135 to encrypt the correctable event log 325.

[0094] In step 4, server 155 can process information from database 610 to predict uncorrectable error pages 320 that may occur in device 135 regarding future events. That is, server 155 can attempt to identify pages in device 135 that are not currently experiencing errors but may experience errors in the future (near or long term). By making such predictions, server 155 (and...) Figure 1 Machine 105 can avoid using pages that may experience errors in the future, thus avoiding potential data loss due to data stored that may be unrecoverable after an error occurs. Server 155 can make such predictions using prediction algorithm 615: prediction algorithm 615 can be implemented in any desired manner and can use methods such as log-base, column / row analysis, machine learning (ML), or large language model (LLM), all of which are covered by embodiments of this disclosure. Note that in some embodiments of this disclosure, prediction algorithm 615 can operate on all data in database 610; in other embodiments of this disclosure, prediction algorithm 615 can operate on data from a single device 135 (because an event in one device 135 is unlikely to affect an event in another device 135). For example, prediction algorithm 615 can be trained using uncorrectable event records 320 from database 610-2 (and possibly also poison list 605 from database 610-3) to enable prediction of future uncorrectable errors in device 135 based on correctable event records 325 from database 610-1.

[0095] Although server 155 is described as including prediction algorithm 615, indicating that prediction algorithm 615 is software, embodiments of this disclosure may also include hardware implementations of the prediction algorithm. For example, where prediction algorithm 615 uses ML or LLM, a hardware implementation may be more efficient than a software implementation running on a general-purpose processor. Thus, prediction algorithm 615 can be implemented using CPU, FPGA, ASIC, SoC, GPU, GPGPU, NPU, or TPU, among other possible examples.

[0096] While the prediction algorithm 615 can use the uncorrectable event log 320 and the poison list 605 without concern (because they are unencrypted), the prediction algorithm 615 may need to use the HE library 620 to manipulate data from the correctable event log 325. Furthermore, the server 155 can additionally use the evaluation key 625 to encrypt the correctable event log 325 to further protect the data from potential attacks.

[0097] As a result of the operation of prediction algorithm 615, address list 630 can be generated. Address list 630 may be, for example, a list of device physical addresses (DPAs). However, because the device physical addresses may have been encrypted as part of correctable event records 325, address list 630 can be considered to store encrypted data. Therefore, in step 5, server 155 may send the encrypted address list 630 to device 135. (Recall that encryption key 510 is local to device 135: therefore, server 155 does not know encryption key 510 and cannot decrypt address list 630 itself.) Server 155 may include a sender ( Figure 6 (Not shown in the diagram) to send the encrypted address list 630 to device 135. In embodiments of this disclosure where server 155 further encrypts the correctable event log 325 using evaluation key 625, server 155 may also provide evaluation key 625 to device 135, allowing device 135 to fully decrypt address list 630. Server 155 may use the mailbox of device 135 to transmit this information.

[0098] In step 6, device 135 can decrypt address list 630. Depending on whether HE 505 is a symmetric or asymmetric encryption algorithm, device 135 can use HE 505 and encryption key 510 or decryption key 635 to perform this decryption. If server 155 also uses evaluation key 625 to further encrypt correctable event record 325, device 135 can also use evaluation key 625 to decrypt address list 630. After decryption, device 135 can generate decrypted address list 640.

[0099] In step 7, device 135 may provide server 155 with a decrypted address list 640. Server 155 may include a receiver ( Figure 6 (Not shown in the image) to receive a decrypted address list 640 from device 135. Similar to the uncorrectable event log 320, correctable event log 325, and poison list 605 to server 155, device 135 may include a mailbox from which server 155 may request the decrypted address list 640 from device 135.

[0100] Finally, in step 8, server 155 can store the addresses in the decrypted address list 640 in database 610-3, and update the poison list 605 of device 135 based on the decrypted address list 640.

[0101] Although Figure 6 Not shown in the image, but server 155 can also connect to... Figure 1 Machine 105 shares the decryption address list 640, enabling Figure 1 Machine 105 can avoid attempting to access addresses in device 135 that are known or expected to be faulty.

[0102] Embodiments of this disclosure may include examples of a procedure flow for HE-based data delivery. Example steps are outlined below, including updating events, performing unrecoverable / uncorrectable error (UE) prediction, and updating the decrypted DPA list.

[0103] 1. The CXL mailbox can maintain three buffers: a buffer for the poison list, a buffer for event logging, and a buffer for CE (Correctible Error) logging. If the event is a DRAM-related event and a CE error, the corresponding DRAMCE event record can be stored in an encrypted format. Encryption can be performed by the HE hardware engine.

[0104] 2. The toxic substance list and (e.g., UE) event logs are transmitted as plain text, while the CE record is transmitted in encrypted CE format. The encryption key used to encrypt sensitive data in the CE record is not shared with the host.

[0105] 3. The list of toxic substances, event logs, and CE records can be stored in the database of the CXL management system.

[0106] 4. For UE prediction, the UE prediction algorithm module can retrieve relevant data from the database.

[0107] 5. To process HE data, the HE library can be used. This library generates evaluation keys to prevent potential attacks while processing UE predictions and ensuring data security.

[0108] 6. UE prediction algorithms can utilize various methods, including logarithmic base, column / row analysis, machine learning (ML), large language models (LLM), and any of them. Computations involving HE data and plain text can be performed by the HE library, which then generates a list of encrypted DPAs (Data Protection Algorithms).

[0109] 7. The UE prediction results from the UE prediction algorithm (illustratively in the form of an encrypted DPA list, along with an evaluation key) can be transmitted to the CXL device. The HE hardware engine can decrypt the DPA list using both the decryption key and the evaluation key. This occurs via a device-specific CXL mailbox (get_DPA_list, payload in).

[0110] 8. The decrypted DPA list can then be returned to the CXL management system in plain text. This is done via the device-specific CXL mailbox (get_DPA_list, payload out).

[0111] 9. A list of DPAs can be obtained.

[0112] 10. The DPA list can be used as a list of poisons and is stored in the database of the CXL management system.

[0113] Figure 7 Embodiments according to this disclosure are shown Figure 1 The server uses Figure 5 A flowchart illustrating an example process of using correctable event logs to predict future events. Figure 7 Showing with Figure 6 The flowchart corresponding to the steps shown. At box 705, corresponding to... Figure 6 Step 1, Figure 1 Device 135 can generate and encrypt Figure 3 Correctable event log 325. Figure 1 Device 135 can also generate Figure 6 Uncorrectable incident log 320 and poison list 605. Note, Figure 6 The Uncorrectable Event Log 320 and the Toxin List 605 may not be encrypted (although they could be encrypted if needed). At box 710, corresponding to... Figure 6 Step 2, Figure 1 Device 135 can Figure 3 Correctable event log 325, uncorrectable event log 320 and / or Figure 6 List of poisons 605 delivered to Figure 1 Server 155. For example, Figure 1 Device 135 can Figure 3 Correctable event log 325, uncorrectable event log 320 and / or Figure 6 The poison list 605 is stored in Figure 3 In queue 315, it can then be accessed via... Figure 1 The server dequeued request 155.

[0114] At box 715, corresponding to Figure 6 Step 3, Figure 1 Server 155 can Figure 3 Correctable event log 325, uncorrectable event log 320 and / or Figure 6 The poison list 605 is stored in Figure 6 In database 610. In the corresponding... Figure 6 In step 4, at box 720, Figure 1 Server 155 can be used Figure 6 The prediction algorithm 615 and HE library 620 are used to... Figure 3 Correctable event log 325, uncorrectable event log 320 and / or Figure 6 The list of poisons 605 is used to generate predictions of future events. Figure 1 Server 155 can also be used Figure 6 The evaluation key 625 can provide additional security against potential attacks. The generated predictions of future events can include... Figure 6 The encrypted address list 630.

[0115] At box 725, corresponding to Figure 6 Step 5, Figure 1 Server 155 can Figure 6 The encrypted address list 630 was sent Figure 1 Equipment 135. If Figure 1 The server 155 also combines Figure 6 HE library 620 usage Figure 6 The evaluation key 625 is located at box 725. Figure 1 Server 155 can also Figure 6 The evaluation key 625 was sent to Figure 1 Device 135. At box 730, corresponding to Figure 6 Step 6, Figure 1 The device 135 can use HE 505 and Figure 6 Encryption key 510 or decryption key 635 (depending on) Figure 5 (Is HE 505 a symmetric or asymmetric encryption algorithm?) This is used to decrypt... Figure 6 The encrypted address list is 630. If... Figure 1 Server 155 is in use Figure 6 HE library 620 is also used Figure 6 The evaluation key 625, then Figure 1 Device 135 can also be decrypted. Figure 6 When using the encrypted address list 630 Figure 6 Evaluation key 625.

[0116] At box 735, corresponding to Figure 6 Step 7, Figure 1 Device 135 can Figure 6 The decryption address list 640 was sent to Figure 1 Server 155. Finally, at box 740, corresponding to Figure 6 Step 8, Figure 1 Server 155 can be used Figure 6 The decryption address list 640 is used to update the storage. Figure 6 In database 610 Figure 6 List of poisons 605. Figure 1 Server 155 can also optionally include Figure 6 The updated list of poisons was distributed to 605 people. Figure 1 Machine 105, which makes Figure 1 Machine 105 knows it should not be used Figure 1 What is the address of device 135?

[0117] Figure 8 Embodiments according to this disclosure are shown Figure 1 Alternative implementations of device 135. In Figure 3 and Figure 6 In the description, it is suggested that device 135 is a single, indivisible device. That is, device 135 can appear as a single device to machine 105 (and to server 155). However, in some embodiments of this disclosure, device 135 can be a combination of components, each of which can be a separate device 135. Thus, for example, switch 805 can be a chassis that includes multiple devices 135, each of which can be used as a separate device.

[0118] To implement this embodiment, switch 805 may include switching module 810, which allows device 135 to connect to machine 105. Machine 105 may send requests to switch 805, and switching module 810 may route these requests to the respective devices 135. Switching module 810 may include a table that maps addresses used by machine 105 to addresses used by device 135. Figure 8(Not shown in the image). For example, consider a case where each device 135 includes 4 gigabytes (GB) of memory. Typically, each device 135 will provide addresses ranging from 0x0000 0000 0000 to 0x0000 FFFF FFFF: that is, the address ranges of device 135 may overlap. If these addresses are exposed to machine 105 without modification, the switching module 810 may not know which device a particular request should be routed to. To solve this problem, the switching module 810 may include a table that maps addresses from each device 135 to non-overlapping ranges. Therefore, for example, switching module 810 can map the addresses 0x0000 0000 0000 to 0x0000 FFFF FFFF of device 135-1 to addresses 0x00000000 0000 to 0x0000 FFFF FFFF, and the addresses 0x0000 0000 0000 to 0x0000 FFFFFFFF of device 135-2 to addresses 0x0001 0000 0000 to 0x0001 FFFF FFFF, and so on. In this way, machine 105 can see the global address range of 0x0000 0000 0000 to 0x0003 FFFF FFFF (assuming four identical devices 135), and switching module 810 can know from the mapping table which device 135 contains the local address for storing data requested by machine 105. In the above example, the switching module 810 can simply mask 16 high-order bits to determine the local address of the individual device 135, where the 16th high-order bit identifies the individual device 135 storing data.

[0119] More generally (where device 135 may not store address ranges of the same size), the mapping table can store the lowest global address associated with each individual device 135. The appropriate device 135 for any given global address can then be identified as the device with the highest global address in the mapping table that is no greater than the given global address, and the appropriate local address can be calculated by subtracting the lowest global address from the given global address. (Assuming the global address range is contiguous, the highest address associated with a particular device 135 will be a value less than the lowest address associated with the next device.) The switch can then identify the appropriate device 135 and the appropriate local address for that device 135. Therefore, continuing with the example above, the switching module 810 can store a mapping table that maps the identifier of device 135-1 to the global address 0x0000 00000000, the identifier of device 135-2 to the global address 0x0001 0000 0000, and so on. When a request with, for example, global address 0x0002 0010 AAAA is received, the highest global address in the mapping table not greater than global address 0x0002 0010 AAAA will be 0x0002 0000 0000, which will identify device 135-3, and the corresponding local address will be 0x00020010 AAAA–0x0002 0000 0000 or 0x0000 0010 AAAA.

[0120] In some embodiments of this disclosure, device 135 may be accessed and addressed individually by machine 105; in other embodiments, machine 105 may send requests to switch 805, and switching module 810 may determine which individual requests should be sent to which device 135. Switching module 810 may also potentially modify the requests to suit each individual device 135. For example, if device 135 exposes overlapping address ranges, switching module 810 may be responsible for mapping the address range of each device 135 to a portion of the non-overlapping address range exposed by switch 805 to machine 105, and modifying the requests sent to switch 805 based on the address ranges supported by each device 135.

[0121] As described above, in some embodiments of this disclosure, the switching module 810 may enable direct addressing of each device 135. For example, the switching module 810 may be a virtual CXL switch that can support exposing each device 135. In these embodiments of this disclosure, the switching module 810 may not need to perform any mapping of requests from machine 105 (other than routing requests to the appropriate device 135).

[0122] In some embodiments of this disclosure, server 155 may also access device 135 in switch 805 via switching module 810. However, in other embodiments of this disclosure (which may include, for example, embodiments of this disclosure where switch 805 does not expose device 135), server 155 may access device 135 via structure manager 815. Structure manager 815 may control device 135 in switch 805 and may deliver requests to the appropriate device 135. For example, structure manager 815 may support access to mailboxes in device 135, a feature that machine 105 may not need.

[0123] The Structure Management (FM) unit can support communication with one or more CXL devices via a CXL mailbox based on the Managed Content Delivery Platform (MCTP) or a custom CXL device driver (FM-based mailbox) to facilitate access to the CXL mailbox of each device.

[0124] The RAS system management unit can maintain any of the following databases:

[0125] 1. Homomorphic Encryption CE Event Logs: These logs can store one or more cryptographically correctable error events.

[0126] 2. Toxic substance list: A list of pages with errors or incorrect predictions.

[0127] 3. Normal event log: Records of regular, non-sensitive events.

[0128] These databases can be used for online UE prediction. The system can periodically check for updates from one or more CXL devices or from all CXL devices via its corresponding CXL mailbox. If any updates regarding UE prediction exist, the system can synchronize the FPL with the host in the memory pooling system.

[0129] Each host in the system can be equipped with a system-level RAS user daemon, which handles tasks such as fault page management, online fault detection, and recovery. When a memory UE is reported, it can be processed by the daemon using event logging, message signaling interrupts (MSI or MSI-X), or advanced error reporting (AER). These reports can then be forwarded to the RAS system management unit for further processing.

[0130] For UE prediction, the RAS system management unit can transmit the updated FPL to each host. The host can then apply this information to the CXL host dynamic memory (HDM) memory range within its system.

[0131] In summary, embodiments of this disclosure can support efficient RAS management at the system level within a CXL memory pooling architecture. The memory pooling architecture ensures secure management of correctable error data via homomorphic encryption, preventing exposure to the host, while enabling comprehensive error prediction and management.

[0132] Embodiments of this disclosure may include a process for encrypting DRAM event logs in the event of a CE error. This process does not apply encryption to a common event log format, nor to the input and output event log payloads. To protect the data, the CXL device may utilize homomorphic encryption (HE) via an embedded HE encryption hardware engine. The encryption process can be straightforward, involving the following three example steps:

[0133] 1. Private key generation: You can create a unique private key to ensure that the data remains secure.

[0134] 2. Encryption of each entry: Each entry in the DRAM event log can be encrypted using a private key, thereby protecting sensitive information.

[0135] 3. Storage of encrypted data: The encrypted DRAM CE event logs can then be stored in the CE record list buffer, making the event logs available for future access by authorized users.

[0136] The length of each encrypted entry can vary based on the private key value, adding an extra layer of security. Once encrypted, the data can be transmitted to the CXL RAS management unit via the get_ce_event_record CXL mailbox function, where it can be securely processed and analyzed by authorized systems.

[0137] Figure 9 Embodiments according to this disclosure are shown Figure 1 Device 135 generated Figure 5 A flowchart of an example process for correctable event logging 325. Figure 9 In the middle, at position 905, Figure 1 Device 135 can detect the occurrence of an event. At box 910, Figure 1 Device 135 can determine whether the event is correctable. At box 915, Figure 1 Device 135 can create correctable event logs 325 and store them. Figure 3 In buffer 315-2. For example... Figure 5 As shown, Figure 3 The correctable event log 325 may include Figure 5 The various fields are 515. Finally, at box 920, Figure 1 Device 135 can be used Figure 5Homomorphic encryption 505 and encryption key 510 are used for encryption. Figure 3 Correctable event log 325 Figure 5 Field 515.

[0138] Figure 9 There is no indication of what would happen if the event at box 910 became uncorrectable. Figure 10 Embodiments according to this disclosure are shown Figure 1 Device 135 storage Figure 3 A flowchart of an example process for logging an uncorrectable event 320. Figure 10 In Figure 10 At position 1005 in the frame, Figure 1 Device 135 can create Figure 3 Uncorrectable event log 320, and can be stored in Figure 3 In the buffer 315-1.

[0139] Figure 11 Embodiments according to this disclosure are shown Figure 1 The flowchart shows an example process by which device 135 determines that an event has occurred. Figure 11 In the middle, at position 1105, Figure 1 Device 135 can be from Figure 1 Machine 105 receives a request. This request can be, for example, from... Figure 1 Device 135 requests to access data—read data, write data, or delete data. At box 1110, Figure 1 Device 135 can execute the request. Finally, at box 1115, Figure 1 Device 135 can determine that an event has occurred based on the execution request.

[0140] Figure 12 Embodiments according to this disclosure are shown Figure 1 Equipment 135 and Figure 1 A flowchart illustrating an example process for sharing event logs on server 155. Figure 12 In the middle, at position 1205, Figure 1 Device 135 can be from Figure 1 Server 155 receives pairs of Figure 3 The request is an uncorrectable event log 320. This can be achieved using, for example, an email interface. Figure 1 The request is received at device 135. At box 1210, Figure 1 Device 135 could potentially again transmit via the mailbox interface Figure 3 Uncorrectable event log 320 Return to Figure 1 Server 155. At box 1215, Figure 1 Device 135 can be from Figure 1Server 155 receives pairs of Figure 3 The request for a correctable event log 325. This can be achieved using, for example, an email interface. Figure 1 The request is received at device 135. At box 1220, Figure 1 Device 135 could potentially again transmit via the mailbox interface Figure 3 Correctable event log 325 returns to Figure 1 Server 155. At box 1225, Figure 1 Device 135 can be from Figure 1 Server 155 receives pairs of Figure 6 The request is for a 605 status code on a poison list. This can be done using, for example, an email interface. Figure 1 The request is received at device 135. At box 1230, Figure 1 Device 135 could potentially again transmit via the mailbox interface Figure 6 The list of poisons 605 has been returned. Figure 1 Server 155.

[0141] Although Figure 12 This indicates that each record can be requested individually. Figure 3 Uncorrectable event log 320 Figure 3 Correctable event log 315 and Figure 6 The list of poisons is 605, but embodiments of this disclosure may include any desired combination of requests. Thus, for example, box 1205 may represent... Figure 1 Server 155 request Figure 3 All available uncorrectable event records 320 (or a subset thereof), box 1215 can represent Figure 1 Server 155 request Figure 3 All available correctable event records 315 (or a subset thereof), and box 1225 can represent Figure 1 Server 155 request Figure 6 A complete list of all available poisons 605 (or a subset thereof). In such embodiments of this disclosure, from boxes 1210, 1220, and 1230 Figure 1 The information returned by device 135 to server 155 may correspond to the requested information. Additionally, embodiments of this disclosure may include... Figure 1 Server 155 can request multiple types of records in a single request. Therefore, for example, server 155 can issue only one request, requesting... Figure 3 Log of all uncorrectable events 320 Figure 3 Correctable event log 315 and Figure 6 The device 135 can return all requested information as part of an operation, with a complete list of all poisons 605.

[0142] Figure 13 Embodiments according to this disclosure are shown Figure 1 Device 135 processes from Figure 1 The server 155 received Figure 6 The flowchart shows an example process for the encrypted address list 630. Figure 13 In the middle, at position 1305, Figure 1 Device 135 can be from Figure 1 Server 155 receives Figure 6 The encrypted address list 630. Figure 1 Device 135 can also be from Figure 1 Server 155 receives Figure 6 Evaluation key 625. Figure 1 Device 135 can be accessed via email interface from Figure 1 Server 155 receives the encrypted address list 630, and potentially receives Figure 6 Evaluation key 625. At box 1310, Figure 1 Device 135 can be used for Figure 6 The encrypted address list 630 is decrypted. Figure 1 Device 135 can be used Figure 5 Using homomorphic encryption 505 and encryption key 510 to decrypt Figure 6 The encrypted address list 630 is used to generate Figure 6 The decryption address list is 640; if Figure 1 Equipment 135 from Figure 1 Server 155 receives Figure 6 The evaluation key 625, then Figure 1 Device 135 can also be used Figure 6 The evaluation key is 625. Finally, at box 1315, Figure 1 Device 135 could potentially again transmit via the mailbox interface Figure 6 The decryption address list 640 was sent back. Figure 1 Server 155.

[0143] Embodiments of this disclosure may include examples of UE prediction based on accumulated event data in a CXL management system database. The database storing HE data can use an HE library to compute prediction algorithms, such as log-based, pattern-matching, and machine learning (ML) methods. These algorithms can generate evaluation keys to protect secret keys and ensure data privacy.

[0144] The evaluation key and the predicted Device Physical Address (DPA) can then be returned to the target CXL device via the vendor-specific CXL mailbox function `get_decrypted_DPA`. Upon receiving these parameters, the HE hardware engine within the target CXL device can decrypt the DPA and send the decrypted DPA back to the CXL management system via `get_decrypted_DPA payout`, which can act as a RAS management unit.

[0145] Therefore, the CXL management system can be informed only of the predicted DPA (Disruptive Event Pain) for uncorrectable errors without storing or decrypting the actual CE (Continuous Error) event. The decrypted DPA can be treated as a "poison" by the CXL management system, which can act as a CXL memory pooling system. The decrypted DPA can then be added to a poison list in the database.

[0146] Finally, the CXL management system can update all hosts using a Faulty Page List (FPL) format, which contains a list of potentially faulty memory pages. Through its system-level RAS user daemon, each host can translate the DPA to a Host Physical Address (HPA) based on the host's memory address mapping. This method allows the daemon to take necessary actions by taking one or more target pages predicted to be faulty offline.

[0147] Figures 14A-14B Embodiments according to this disclosure are shown Figure 1 Server 155 from Figure 1 Device 135 Requests and Processing Figure 3 A flowchart of an example process for correctable event logging 325. Figure 14A In the middle, at position 1405, Figure 1 Server 155 can be accessed from Figure 1 Device 135 request Figure 3 Correctable event log 325, which may include events that have been used Figure 5 The fields are encrypted using homomorphic encryption 505 and encryption key 510. Figure 1 Server 155 can use, for example, an email interface from... Figure 1 Device 135 request Figure 3 Correctable event log 325. At box 1410, Figure 1 Server 155 could potentially use the email interface again from Figure 1 Device 135 receives Figure 3 Correctable event log 325. See above for reference. Figure 6 The subject of discussion Figure 1 Server 155 can receive Figure 3The correctable event log 325 does not receive the encryption key 510, and therefore may be unable to decrypt. Figure 3 Correctable event log 325.

[0148] In box 1415 ( Figure 14B ) place, Figure 1 Server 155 can be used Figure 6 The prediction algorithm 615 is used to make predictions about Figure 1 Predictions of future events in device 135. Figure 1 Server 155 can Figure 6 Prediction algorithm 615 and Figure 3 Correctable event log 325 and Figure 3 Use it together with the uncorrectable event log 320.

[0149] Figure 6 The results of prediction algorithm 615 may include Figure 6 The list of encrypted addresses is 630. At box 1420, Figure 1 The management unit 125 can Figure 6 The encrypted address list 630 was sent Figure 1 Equipment 135. If Figure 1 Server 155 has been used Figure 6 The evaluation key 625, then Figure 1 Server 155 can also Figure 6 The evaluation key 625 was sent to Figure 1 Device 135. Finally, at frame 1425, Figure 1 Server 155 can be accessed from Figure 1 Device 135 receives Figure 6 The decryption address list is 640.

[0150] Figures 15A-15B Embodiments according to this disclosure are shown Figure 1 Server 155 from Figure 1 A flowchart illustrating an example process for device 135 to request and store event logs. Figure 15A In the middle, at position 1505, Figure 1 Server 155 can be accessed from Figure 1 Device 135 request Figure 3 Uncorrectable event log 320. Figure 1 Server 155 can use, for example, an email interface from... Figure 1 Device 135 request Figure 3 Uncorrectable event log 320. At box 1510, Figure 1 Server 155 could potentially use the email interface again from Figure 1 Device 135 receives Figure 3Uncorrectable event log 320.

[0151] At block 1515, Figure 1 Server 155 can be accessed from Figure 1 Device 135 request Figure 6 List of poisons 605. Figure 1 Server 155 can use, for example, an email interface from... Figure 1 Device 135 request Figure 6 List of poisons 605. At box 1520, Figure 1 Server 155 could potentially use the email interface again from Figure 1 Device 135 receives Figure 6 List of poisons 605.

[0152] In box 1525 ( Figure 15B ) place, Figure 1 Server 155 can Figure 3 Correctable event log 325 is stored in Figure 6 In database 610. At box 1530, Figure 1 Server 155 can Figure 3 Uncorrectable event record 320 is stored in database 610. At box 1535, Figure 1 Server 155 can Figure 6 The poison list 605 is stored in Figure 6 In database 610. Finally, at box 1540, Figure 1 Server 155 can be used Figure 6 The prediction algorithm 615 is used to make predictions about Figure 1 Predictions of future events in device 135. Figure 1 Server 155 can Figure 6 Prediction algorithm 615 and Figure 3 Correctable event log 325 Figure 3 Uncorrectable event log 320 and Figure 6 Use it together with the poison list 605.

[0153] Figure 16 Embodiments according to this disclosure are shown Figure 1 Server 155 processing Figure 5 A flowchart of an example process for correctable event logging 325. Figure 16 In the middle, at position 1605, Figure 1 Server 155 can process Figure 3 Correctable event log 325 application Figure 6 HE library 620 (combined) Figure 6 Evaluation key 625). Figure 6The HE library 620 can be used with encrypted data (which can be encrypted using a homomorphic encryption algorithm, and therefore the result of applying this mathematical operation can be decryptable) to manipulate... Figure 3 The function library for correctable event logging 325. Note that, due to... Figure 3 Uncorrectable event log 320 (and Figure 6 The poison list 605 (if also used) can be unencrypted, so they can be... Figure 6 The prediction algorithm 615 is used without the need for... Figure 6 HE library 620. In use Figure 6 When using HE library 620 and evaluation key 625, Figure 1 Server 155 can be modified Figure 3 Correctable event record 325, thus generating Figure 3 Different correctable event records 325. At box 1610, Figure 6 The prediction algorithm 615 can be used Figure 3 The different correctable event record 325, instead of from Figure 1 The device 135 received Figure 3 Correctable event log 325.

[0154] Figure 17 Embodiments according to this disclosure are shown Figure 1 Server 155 is based on Figure 1 The device 135 receives the decrypted address list to update. Figure 6 A flowchart of an example process for database 610. Figure 17 In the middle, at position 1705, Figure 1 Server 155 can be based on Figure 6 The decryption address list 640 (which can be regarded as) Figure 6 The new list of poisons (605) will be updated. Figure 6 Database 610. Finally, at box 1710, Figure 1 Server 155 can send the update from Figure 6 Database 610 spread to Figure 1 Machine 105.

[0155] exist Figure 9-17 Some embodiments of this disclosure are shown in the figures. However, those skilled in the art will recognize that other embodiments of this disclosure are possible by changing the order of the boxes, by omitting boxes, or by including links not shown in the figures. All such variations of the flowcharts, whether explicitly described or not, are considered embodiments of this disclosure.

[0156] Embodiments of this disclosure include devices that can encrypt correctable event logs using a homomorphic encryption algorithm and a device-local encryption key. The encrypted correctable event logs can be shared with a RAS server to predict addresses in the device that may fail in the future. Because the correctable event logs are encrypted using a homomorphic encryption algorithm, they can be used by the prediction algorithm of the RAS server, which includes a homomorphic encryption library that can provide mathematical operations on the encrypted correctable event logs without decrypting them. By enabling the RAS server to predict addresses in the device that may fail in the future without exposing the correctable event log data, this device provides a technological improvement that allows device vendors to protect any proprietary technology or data, even if the RAS server can still make predictions about the device.

[0157] The following discussion is intended to provide a brief general description of one or more suitable machines in which certain aspects of this disclosure may be implemented. One or more machines may be controlled at least in part by input from conventional input devices such as a keyboard, mouse, etc., and by instructions received from another machine, interaction with a virtual reality (VR) environment, biometric feedback, or other input signals. As used herein, the term "machine" is intended to broadly encompass a single machine, a virtual machine, or a system of communication-coupled machines, virtual machines, or devices operating together. Exemplary machines include computing devices such as personal computers, workstations, servers, portable computers, handheld devices, telephones, tablets, etc., and transportation devices such as private or public transportation, such as cars, trains, taxis, etc.

[0158] One or more machines may include embedded controllers, such as programmable or non-programmable logic devices or arrays, application-specific integrated circuits (ASICs), embedded computers, smart cards, etc. One or more machines may utilize one or more connections to one or more remote machines, such as via network interfaces, modems, or other communication coupling. Machines may be interconnected via physical and / or logical networks, such as intranets, the Internet, local area networks (LANs), wide area networks (WANs), etc. Those skilled in the art will understand that network communications can utilize a variety of wired and / or wireless short-range or long-range carriers and protocols, including radio frequency (RF), satellite, microwave, IEEE 802.11, Bluetooth®, optical, infrared, cable, laser, etc.

[0159] Embodiments of this disclosure can be described by reference to or in conjunction with relevant data, including functions, procedures, data structures, applications, etc., which, when accessed by a machine, cause the machine to perform tasks or define abstract data types or low-level hardware contexts. The associated data can be stored, for example, in volatile and / or non-volatile memory (e.g., RAM, ROM, etc.), or in other storage devices and their associated storage media, including hard disk drives, floppy disks, optical storage, magnetic tape, flash memory, memory sticks, digital video disks, bio-memory, etc. The associated data can be transmitted via a transmission environment (including physical and / or logical networks) in the form of packets, serial data, parallel data, propagated signals, etc., and can be used in compressed or encrypted formats. The associated data can be used in a distributed environment and stored locally and / or remotely for machine access.

[0160] Embodiments of this disclosure may include a tangible, non-transitory machine-readable medium comprising instructions executable by one or more processors, including instructions for performing elements of this disclosure as described herein.

[0161] The various operations of the methods described above can be performed by any suitable means capable of performing these operations, such as various hardware and / or software components, circuits, and / or modules. The software may include an ordered list of executable instructions for implementing logical functions and may be embodied in any processor-readable medium for use by or in conjunction with an instruction execution system, apparatus, or device, such as a single-core or multi-core processor or a system containing a processor.

[0162] The methods, algorithms, and functional blocks or steps described in conjunction with the embodiments disclosed herein may be embodied directly in hardware, as software modules executed by a processor, or a combination of both. If implemented in software, the functionality may be stored as one or more instructions or code on or transmitted through a tangible, non-transitory computer-readable medium. The software module may reside in random access memory (RAM), flash memory, read-only memory (ROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), registers, hard disks, removable disks, CD-ROMs, or any other form of storage medium known in the art.

[0163] Having described and illustrated the principles of this disclosure with reference to the illustrated embodiments, it will be appreciated that the illustrated embodiments may be modified in arrangement and detail without departing from these principles, and may be combined in any desired manner. Furthermore, although the foregoing discussion focuses on particular embodiments, other configurations are contemplated. In particular, even when expressions such as "according to an embodiment of this disclosure" are used herein, these phrases imply the general possibility of reference to the embodiments and are not intended to limit this disclosure to particular embodiment configurations. As used herein, these terms may refer to the same or different embodiments that can be combined into other embodiments.

[0164] The foregoing illustrative embodiments should not be construed as limiting the scope of the disclosure. Although some embodiments have been described, those skilled in the art will readily understand that many modifications can be made to these embodiments without substantially departing from the novel teachings and advantages of this disclosure. Therefore, all such modifications are intended to be included within the scope of this disclosure as defined in the claims.

[0165] The embodiments disclosed herein may be extended to, but are not limited to, the following statements:

[0166] Statement 1. Embodiments of this disclosure include an apparatus comprising:

[0167] Connection to the host or management unit;

[0168] Medium, used for storing data;

[0169] The controller accesses data in the medium, at least in part, based on requests from the host;

[0170] A buffer stores correctable event records, which include a first field and a second field. The first field is encrypted using a homomorphic encryption (HE) algorithm and an encryption key.

[0171] The HE engine uses the HE algorithm to encrypt the first field in correctable event records.

[0172] The management unit is configured to predict uncorrectable errors at addresses in the medium, based at least in part on correctable event logs, and

[0173] The encryption key is local to the device.

[0174] Statement 2. Embodiments of this disclosure include the device described in Statement 1, wherein the device includes a cache coherent interconnect device.

[0175] Statement 3. Embodiments of this disclosure include the device described in Statement 2, wherein the cache coherent interconnect device includes a compute fast link (CXL) device.

[0176] Statement 4. Embodiments of this disclosure include the device described in Statement 1, wherein the connection includes a connection to a switch, the switch including a second connection to a host and a third connection to a management unit.

[0177] Statement 5. Embodiments of this disclosure include the device described in Statement 4, wherein the switch includes a cache-coherent interconnect switch.

[0178] Statement 6. Embodiments of this disclosure include the device described in Statement 5, wherein the cache-coherent interconnect switch includes a compute fast link (CXL) switch.

[0179] Statement 7. Embodiments of this disclosure include the device described in Statement 1, wherein the management unit includes a reliability, availability, and serviceability (RAS) management unit.

[0180] Statement 8. Embodiments of this disclosure include the device according to Statement 1, wherein the device is configured to receive an encrypted address list from a management unit, decrypt the encrypted address list to generate a decrypted address list, and return the decrypted address list to the management unit.

[0181] Statement 9. Embodiments of this disclosure include the device described in Statement 8, wherein:

[0182] The encrypted address list includes a list of encrypted device physical addresses (DPAs); and

[0183] The decryption address list includes the list of decrypted DPAs.

[0184] Statement 10. Embodiments of this disclosure include a device according to Statement 8, wherein the device is further configured to receive an encrypted address list and an evaluation key from a management unit, and to decrypt the encrypted address list using the encryption key and the evaluation key to generate a decrypted address list.

[0185] Statement 11. Embodiments of this disclosure include a device according to Statement 8, wherein the device is further configured to receive an encrypted address list and an evaluation key from a management unit, and to decrypt the encrypted address list using a decryption key and the evaluation key to generate a decrypted address list, the decryption key being associated with the encryption key.

[0186] Statement 12. Embodiments of this disclosure include the device according to Statement 8, and further include: a mailbox for communicating with a management unit regarding an encrypted address list and a decrypted address list.

[0187] Statement 13. Embodiments of this disclosure include the device described in Statement 12, wherein the mailbox includes a mailbox interface.

[0188] Statement 14. Embodiments of this disclosure include the device described in Statement 13, wherein the email interface is a vendor-specific email interface.

[0189] Statement 15. Embodiments of this disclosure include the device described in Statement 13, wherein the device is configured to receive a list of encrypted addresses from a management unit using an email interface.

[0190] Statement 16. Embodiments of this disclosure include the device described in Statement 15, wherein the device is further configured to receive an evaluation key from a management unit using a mailbox interface.

[0191] Statement 17. Embodiments of this disclosure include the device described in Statement 13, wherein the device is configured to provide a list of decrypted addresses to a management unit using an email interface.

[0192] Statement 18. Embodiments of this disclosure include the device according to Statement 1, wherein a correctable event record is generated at least in part based on correctable events occurring in the device.

[0193] Statement 19. Embodiments of this disclosure include a device according to Statement 1, wherein the first field includes a supplier-specific data field.

[0194] Statement 20. Embodiments of this disclosure include a device according to Statement 1, wherein the second field is not encrypted using the HE algorithm.

[0195] Statement 21. Embodiments of this disclosure include the device described in Statement 1, and further include: an email address for communicating with a correctable event log and management unit.

[0196] Statement 22. Embodiments of this disclosure include the device described in Statement 21, and further include: a second buffer for storing an uncorrectable event log.

[0197] Statement 23. Embodiments of this disclosure include the device described in Statement 21, and further include: a second mailbox for communicating with the management unit regarding uncorrectable event logging.

[0198] Statement 24. Embodiments of this disclosure include the device described in Statement 23, wherein the second mailbox includes a mailbox interface.

[0199] Statement 25. Embodiments of this disclosure include the device described in Statement 24, wherein the email interface of the second email address is a vendor-specific email interface.

[0200] Statement 26. Embodiments of this disclosure include the device described in Statement 21, and further include: a second mailbox for communicating with the management unit regarding the toxic substance inventory.

[0201] Statement 27. Embodiments of this disclosure include the device described in Statement 26, wherein the second mailbox includes a mailbox interface.

[0202] Statement 28. Embodiments of this disclosure include the device described in Statement 27, wherein the email interface of the second email address is a vendor-specific email interface.

[0203] Statement 29. Embodiments of this disclosure include the device described in Statement 21, wherein the mailbox includes a mailbox interface.

[0204] Statement 30. Embodiments of this disclosure include the device described in Statement 1, and further include: a structure manager for communicating with the management unit.

[0205] Statement 31. Embodiments of this disclosure include the device described in Statement 30, and further include: a second connection, communicating with the management unit, the second connection using a structure manager.

[0206] Statement 32. Embodiments of this disclosure include the device according to Statement 1, and further include: a third buffer for storing a list of toxic substances.

[0207] Statement 33. Embodiments of this disclosure include a management unit, comprising:

[0208] The first database, the first correctable event record of the storage device, the first correctable event record includes a first field and a second field, the first field of which is encrypted by the device using homomorphic encryption and an encryption key;

[0209] A homomorphic encryption library applies operations to a first correctable event record to generate a second correctable event record; and

[0210] The prediction algorithm generates a list of encrypted addresses, at least in part, based on a second correctable event record.

[0211] The encryption key is local to the device.

[0212] Statement 34. Embodiments of this disclosure include the management unit described in Statement 33, wherein the first database includes the second database.

[0213] Statement 35. Embodiments of this disclosure include the management unit as described in Statement 33, wherein the prediction algorithm is configured to generate a list of encrypted addresses based at least in part on a second correctable event record and an uncorrectable event record of the device.

[0214] Statement 36. Embodiments of this disclosure include the management unit described in Statement 35, and further include: a second database, and an uncorrectable event log of the storage device.

[0215] Statement 37. Embodiments of this disclosure include a management unit as described in Statement 35, wherein the management unit is configured to request uncorrectable event logs from a device.

[0216] Statement 38. Embodiments of this disclosure include the management unit as described in Statement 37, wherein the management unit is configured to request uncorrectable event logs from the device's mailbox.

[0217] Statement 39. Embodiments of this disclosure include a management unit as described in Statement 38, wherein the management unit is configured to request uncorrectable event logs from a vendor-specific mailbox of the device.

[0218] Statement 40. Embodiments of this disclosure include the management unit described in Statement 33, and further include: a third database and a toxic substance inventory for storage devices.

[0219] Statement 41. Embodiments of this disclosure include the management unit as described in Statement 40, wherein the prediction algorithm is configured to generate a list of encrypted addresses based at least in part on a second correctable event log and a list of poisons.

[0220] Statement 42. Embodiments of this disclosure include a management unit as described in Statement 33, wherein the management unit is configured to request a first correctable event record from the device.

[0221] Statement 43. Embodiments of this disclosure include a management unit as described in Statement 42, wherein the management unit is configured to request a first correctable event record from the device's mailbox.

[0222] Statement 44. Embodiments of this disclosure include a management unit as described in Statement 43, wherein the management unit is configured to request a first correctable event record from a vendor-specific email address of the device.

[0223] Statement 45. Embodiments of this disclosure include the management unit described in Statement 33, wherein:

[0224] The management unit also includes an evaluation key; and

[0225] The homomorphic encryption library is configured to apply an operation to a first correctable event record using an evaluation key to produce a second correctable event record.

[0226] Statement 46. Embodiments of this disclosure include the management unit as described in Statement 33, and further include: a transmitter that sends a list of encrypted addresses to the device.

[0227] Statement 47. Embodiments of this disclosure include the management unit as described in Statement 46, and further include: a receiver that receives a list of decrypted addresses from the device.

[0228] Statement 48. Embodiments of this disclosure include a management unit as described in Statement 47, wherein the management unit is configured to update a third database of poison inventory for the storage device, at least in part, based on a list of decrypted addresses.

[0229] Statement 49. Embodiments of this disclosure include the management unit as described in Statement 46, wherein the transmitter is configured to send a request to the device for a correctable event log.

[0230] Statement 50. Embodiments of this disclosure include the management unit as described in Statement 46, wherein the transmitter is configured to send a request to the device for logging of uncorrectable events.

[0231] Statement 51. Embodiments of this disclosure include a method comprising:

[0232] Detect events in the equipment;

[0233] Determine whether the events in the device include correctable or non-correctable events;

[0234] Based at least in part on the fact that the event is a correctable event, a correctable event record is added to the device's buffer, the correctable event record including a first field and a second field; and

[0235] The first field of the correctable event record is encrypted using the homomorphic encryption (HE) algorithm and encryption key.

[0236] The encryption key is local to the device.

[0237] Statement 52. Embodiments of this disclosure include the method according to Statement 51, wherein the first field of the correctable event log includes a supplier-specific data field.

[0238] Statement 53. Embodiments of this disclosure include the method according to Statement 51, wherein the second field of the correctable event record is not encrypted using the HE algorithm.

[0239] Statement 54. Embodiments of this disclosure include the method of 1 according to Statement 5, further comprising: adding an uncorrectable event record to a second buffer of the device based at least in part on the fact that the event is an uncorrectable event.

[0240] Statement 55. Embodiments of this disclosure include the method according to Statement 51, wherein the device includes a cache coherent interconnect device.

[0241] Statement 56. Embodiments of this disclosure include the method according to Statement 55, wherein the cache coherent interconnect device includes a compute fast link (CXL) device.

[0242] Statement 57. Embodiments of this disclosure include the method according to Statement 51, wherein:

[0243] The method further includes:

[0244] Receive access requests from the host at the device; and

[0245] Perform the access request at the device; and

[0246] Detecting events in a device includes detecting events in the device based at least in part on performing an access request at the device.

[0247] Statement 58. Embodiments of this disclosure include the method according to Statement 57, wherein receiving an access request from a host at a device includes: receiving the access request from the host at the device via a switch, the switch connecting the device and the host.

[0248] Statement 59. Embodiments of this disclosure include the method according to Statement 58, wherein the switch includes a cache-coherent interconnect switch.

[0249] Statement 60. Embodiments of this disclosure include the method according to Statement 59, wherein the cache coherent interconnect switch includes a compute fast link (CXL) switch.

[0250] Statement 61. Embodiments of this disclosure include the method described according to Statement 58, wherein the switch connects the device, the host, and the management unit.

[0251] Statement 62. Embodiments of this disclosure include the method described in statement 51, further comprising: receiving a request for a correctable event log from a management unit at the device.

[0252] Statement 63. Embodiments of this disclosure include the method according to Statement 62, further comprising: sending a correctable event log from the device to the management unit.

[0253] Statement 64. Embodiments of this disclosure include the method according to Statement 62, wherein receiving a request for a correctable event log from the management unit at the device includes receiving the request for a correctable event log from the management unit at the device's mailbox.

[0254] Statement 65. Embodiments of this disclosure include the method according to Statement 64, wherein receiving a request for a correctable event log from the management unit at a mailbox at the device includes: receiving a request for a correctable event log from the management unit at a vendor-specific mailbox interface of the device.

[0255] Statement 66. Embodiments of this disclosure include the method according to Statement 65, wherein receiving a request for a correctable event log from the management unit at the device's mailbox includes: receiving the request for a correctable event log from the management unit at the device's mailbox via a structure manager.

[0256] Statement 67. Embodiments of this disclosure include the method described in statement 51, further comprising: receiving a request for logging an uncorrectable event from a management unit at the device.

[0257] Statement 68. Embodiments of this disclosure include the method according to Statement 67, further comprising: sending an uncorrectable event log from the device to the management unit.

[0258] Statement 69. Embodiments of this disclosure include the method according to Statement 51, further comprising: receiving a request for a list of toxic substances from a management unit at the device.

[0259] Statement 70. Embodiments of this disclosure include the method according to Statement 69, further comprising: sending a toxic substance list from the device to a management unit.

[0260] Statement 71. Embodiments of this disclosure include the method described according to Statement 51, and further include:

[0261] Receive the list of encrypted addresses from the management unit at the device;

[0262] The HE algorithm and encryption key are used at the device to decrypt the encrypted address list to generate a decrypted address list; and

[0263] Send the list of decrypted addresses from the device to the management unit.

[0264] Statement 72. Embodiments of this disclosure include the method according to Statement 71, wherein:

[0265] The encrypted address list received from the management unit at the device includes: the encrypted device physical address (DPA) list received from the management unit at the device;

[0266] Using the HE algorithm and encryption key at the device to decrypt the encrypted address list to generate a decrypted address list includes: using the HE algorithm and encryption key at the device to decrypt the encrypted DPA list to generate a decrypted DPA list; and

[0267] Sending a decrypted address list from the device to the management unit includes sending a decrypted DPA list from the device to the management unit.

[0268] Statement 73. Embodiments of this disclosure include the method according to Statement 71, wherein:

[0269] Receiving the encrypted address list from the management unit at the device includes receiving the encrypted address list and evaluation key at the device; and

[0270] Using the HE algorithm and encryption key at the device to decrypt the encrypted address list to generate a decrypted address list includes: using the HE algorithm, encryption key, and evaluation key at the device to decrypt the encrypted address list to generate a decrypted DPA list.

[0271] Statement 74. Embodiments of this disclosure include a method comprising:

[0272] At the management unit, a correctable event log is requested from the device. The correctable event log includes a first field and a second field. The first field is encrypted using a homomorphic encryption (HE) algorithm and an encryption key.

[0273] Receive correctable event logs from the device at the management unit;

[0274] At the management unit, a predictive algorithm is applied to the correctable event log to generate a list of encrypted addresses;

[0275] Send a list of encrypted addresses to the device from the management unit; and

[0276] Receive the list of decrypted addresses from the device at the management unit.

[0277] The encryption key is local to the device.

[0278] Statement 75. Embodiments of this disclosure include the method according to Statement 74, wherein:

[0279] Applying a predictive algorithm to the correctable event log at the management unit to generate an encrypted address list includes: applying a predictive algorithm to the correctable event log at the management unit to generate an encrypted device physical address (DPA) list;

[0280] Sending an encrypted address list from the management unit to the device includes sending an encrypted DPA list from the management unit to the device; and

[0281] The list of decrypted addresses received from the device at the management unit includes the list of DPAs that are decrypted from the device at the management unit.

[0282] Statement 76. Embodiments of this disclosure include the method according to Statement 74, wherein requesting a correctable event log from the device at the management unit includes requesting a correctable event log from the device's mailbox at the management unit.

[0283] Statement 77. Embodiments of this disclosure include the method according to Statement 76, wherein requesting a correctable event log from the device's mailbox at the management unit includes requesting a correctable event log from the device's vendor-specific mailbox interface at the management unit.

[0284] Statement 78. Embodiments of this disclosure include the methods described according to Statement 74, and further include:

[0285] Request an uncorrectable event log from the device at the management unit; and

[0286] Receive uncorrectable event logs from the device at the management unit.

[0287] Statement 79. Embodiments of this disclosure include the method according to Statement 78, wherein applying a prediction algorithm to correctable event logs at the management unit to generate an encrypted address list comprises: applying a prediction algorithm to correctable event logs and uncorrectable event logs at the management unit to generate an encrypted address list.

[0288] Statement 80. Embodiments of this disclosure include the method according to Statement 79, wherein applying a prediction algorithm to correctable and uncorrectable event logs at the management unit to generate an encrypted address list includes applying a prediction algorithm to correctable and uncorrectable event logs at the management unit to generate an encrypted device physical address (DPA) list.

[0289] Statement 81. Embodiments of this disclosure include the method according to Statement 78, wherein requesting an uncorrectable event log from the device at the management unit includes requesting an uncorrectable event log from the device's mailbox at the management unit.

[0290] Statement 82. Embodiments of this disclosure include the method according to Statement 81, wherein requesting an uncorrectable event log from a mailbox at the device at the management unit includes requesting an uncorrectable event log from a vendor-specific mailbox interface at the device at the management unit.

[0291] Statement 83. Embodiments of this disclosure include the method described in statement 78, further comprising: storing an uncorrectable event log at the management unit.

[0292] Statement 84. Embodiments of this disclosure include the method according to Statement 74, wherein:

[0293] The method also includes requesting a list of toxic substances from the device at the management unit; and

[0294] Applying a predictive algorithm to correctable event logs at the management unit to generate an encrypted address list includes applying a predictive algorithm to correctable event logs and a poison list at the management unit to generate an encrypted address list.

[0295] Statement 85. Embodiments of this disclosure include the method according to Statement 84, and further include: storing a list of toxic substances at a management unit.

[0296] Statement 86. Embodiments of this disclosure include the method described in statement 74, further comprising: storing a correctable event log at the management unit.

[0297] Statement 87. Embodiments of this disclosure include the method according to Statement 74, wherein applying a prediction algorithm to a correctable event log at the management unit to generate a list of encrypted addresses includes:

[0298] Apply the HE library to the correctable event log to generate a second correctable event log; and

[0299] At the management unit, a prediction algorithm is applied to the second correctable event log to generate a list of encrypted addresses.

[0300] Statement 88. Embodiments of this disclosure include the method according to Statement 87, wherein applying the HE library to a correctable event record to generate a second correctable event record includes applying the HE library to the correctable event record and evaluating a key to generate the second correctable event record.

[0301] Statement 89. Embodiments of this disclosure include the method according to Statement 74, wherein sending an encrypted address list from the management unit to the device includes sending an encrypted address list and an evaluation key from the management unit to the device.

[0302] Statement 90. Embodiments of this disclosure include the method according to Statement 74, further comprising: updating the database at the management unit based at least in part on the decrypted address list.

[0303] Statement 91. Embodiments of this disclosure include the method according to Statement 74, further comprising: sending a list of decrypted addresses from the management unit to the host.

[0304] Statement 92. Embodiments of this disclosure include the method described in accordance with Statement 74, wherein the prediction algorithm is a logarithmic base algorithm, a column / row analysis algorithm, a machine learning (ML) algorithm, or a large language model (LLM) algorithm.

[0305] Statement 93. Embodiments of this disclosure include a system comprising a non-transitory storage medium having instructions stored thereon, the instructions causing, when executed by a machine:

[0306] Detect events in the equipment;

[0307] Determine whether the events in the device include correctable or non-correctable events;

[0308] Based at least in part on the fact that the event is a correctable event, a correctable event record is added to the device's buffer, the correctable event record including a first field and a second field; and

[0309] The first field of the correctable event record is encrypted using the homomorphic encryption (HE) algorithm and encryption key.

[0310] The encryption key is local to the device.

[0311] Statement 94. Embodiments of this disclosure include a system according to Statement 93, wherein a first field of the correctable event log includes a vendor-specific data field.

[0312] Statement 95. Embodiments of this disclosure include a system according to Statement 93, wherein the second field of the correctable event log is not encrypted using the HE algorithm.

[0313] Statement 96. Embodiments of this disclosure include a system according to Statement 93, wherein further instructions are stored on a non-transitory storage medium, which, when executed by a machine, cause an uncorrectable event record to be added to a second buffer of the device, at least in part based on the fact that the event is an uncorrectable event.

[0314] Statement 97. Embodiments of this disclosure include the system described in Statement 93, wherein the device includes a cache coherent interconnect device.

[0315] Statement 98. Embodiments of this disclosure include the system described in Statement 97, wherein the cache coherent interconnect device includes a compute fast link (CXL) device.

[0316] Statement 99. Embodiments of this disclosure include the system described in Statement 93, wherein:

[0317] Further instructions are stored on a non-transitory storage medium, which, when executed by a machine, cause:

[0318] Receive access requests from the host at the device; and

[0319] Perform the access request at the device; and

[0320] Detecting events in a device includes detecting events in the device based at least in part on performing an access request at the device.

[0321] Statement 100. Embodiments of this disclosure include the system described in Statement 99, wherein receiving an access request from a host at a device includes receiving the access request from the host at the device via a switch, the switch connecting the device and the host.

[0322] Statement 101. Embodiments of this disclosure include a system according to Statement 100, wherein the switch includes a cache-coherent interconnect switch.

[0323] Statement 102. Embodiments of this disclosure include the system described in Statement 101, wherein the cache coherent interconnect switch includes a compute fast link (CXL) switch.

[0324] Statement 103. Embodiments of this disclosure include the system described in Statement 100, wherein the switch connects devices, a host, and a management unit.

[0325] Statement 104. Embodiments of this disclosure include the system according to Statement 93, wherein further instructions are stored on a non-transitory storage medium, which, when executed by a machine, cause a request for a correctable event record to be received at the device from a management unit.

[0326] Statement 105. Embodiments of this disclosure include a system according to Statement 104, wherein further instructions are stored on a non-transitory storage medium, which, when executed by a machine, cause a correctable event log to be sent from a device to a management unit.

[0327] Statement 106. Embodiments of this disclosure include the system described in Statement 104, wherein receiving a request for a correctable event log at the device from the management unit includes receiving the request for a correctable event log at the device's mailbox.

[0328] Statement 107. Embodiments of this disclosure include the system described in Statement 106, wherein receiving a request for a correctable event log from the management unit at the device's mailbox includes: receiving a request for a correctable event log from the management unit at the device's vendor-specific mailbox interface.

[0329] Statement 108. Embodiments of this disclosure include the system described in Statement 107, wherein receiving a request for a correctable event log from a management unit at the device's mailbox includes: receiving the request for a correctable event log from a management unit at the device's mailbox via a structure manager.

[0330] Statement 109. Embodiments of this disclosure include the system according to Statement 93, wherein further instructions are stored on a non-transitory storage medium, which, when executed by a machine, cause a request for an uncorrectable event record to be received at the device from a management unit.

[0331] Statement 110. Embodiments of this disclosure include a system according to Statement 109, wherein further instructions are stored on a non-transitory storage medium, which, when executed by a machine, cause an uncorrectable event record to be sent from the device to a management unit.

[0332] Statement 111. Embodiments of this disclosure include the system according to Statement 93, wherein further instructions are stored on a non-transitory storage medium, which, when executed by a machine, cause a request for a list of poisons to be received at the device from a management unit.

[0333] Statement 112. Embodiments of this disclosure include a system according to Statement 111, wherein further instructions are stored on a non-transitory storage medium, which, when executed by a machine, cause a list of poisons to be sent from a device to a management unit.

[0334] Statement 113. Embodiments of this disclosure include the system according to Statement 93, wherein further instructions are stored on the non-transitory storage medium, the further instructions causing, when executed by a machine, to:

[0335] Receive the list of encrypted addresses from the management unit at the device;

[0336] The HE algorithm and encryption key are used at the device to decrypt the encrypted address list to generate a decrypted address list; and

[0337] Send the list of decrypted addresses from the device to the management unit.

[0338] Statement 114. Embodiments of this disclosure include the system described in Statement 113, wherein:

[0339] The encrypted address list received from the management unit at the device includes: the encrypted device physical address (DPA) list received from the management unit at the device;

[0340] Using the HE algorithm and encryption key at the device to decrypt the encrypted address list to generate a decrypted address list includes: using the HE algorithm and encryption key at the device to decrypt the encrypted DPA list to generate a decrypted DPA list; and

[0341] Sending a decrypted address list from the device to the management unit includes sending a decrypted DPA list from the device to the management unit.

[0342] Statement 115. Embodiments of this disclosure include the system described in Statement 113, wherein:

[0343] Receiving the encrypted address list from the management unit at the device includes receiving the encrypted address list and evaluation key at the device; and

[0344] Using the HE algorithm and encryption key at the device to decrypt the encrypted address list to generate a decrypted address list includes: using the HE algorithm, encryption key, and evaluation key at the device to decrypt the encrypted address list to generate a decrypted address list.

[0345] Statement 116. Embodiments of this disclosure include a system comprising a non-transitory storage medium having instructions stored thereon, the instructions causing, when executed by a machine:

[0346] At the management unit, a correctable event log is requested from the device. The correctable event log includes a first field and a second field. The first field is encrypted using a homomorphic encryption (HE) algorithm and an encryption key.

[0347] Receive correctable event logs from the device at the management unit;

[0348] At the management unit, a predictive algorithm is applied to the correctable event log to generate a list of encrypted addresses;

[0349] Send a list of encrypted addresses to the device from the management unit; and

[0350] Receive the list of decrypted addresses from the device at the management unit.

[0351] The encryption key is local to the device.

[0352] Statement 117. Embodiments of this disclosure include the system described in Statement 116, wherein:

[0353] Applying a predictive algorithm to the correctable event log at the management unit to generate an encrypted address list includes: applying a predictive algorithm to the correctable event log at the management unit to generate an encrypted device physical address (DPA) list;

[0354] Sending an encrypted address list from the management unit to the device includes sending an encrypted DPA list from the management unit to the device; and

[0355] The list of decrypted addresses received from the device at the management unit includes the list of DPAs that are decrypted from the device at the management unit.

[0356] Statement 118. Embodiments of this disclosure include the system described in Statement 116, wherein requesting a correctable event log from the device at the management unit includes requesting a correctable event log from the device's mailbox at the management unit.

[0357] Statement 119. Embodiments of this disclosure include the system described in Statement 118, wherein requesting correctable event logs from a mailbox at the device at the management unit includes requesting correctable event logs from a vendor-specific mailbox interface at the device at the management unit.

[0358] Statement 120. Embodiments of this disclosure include the system according to Statement 116, wherein further instructions are stored on the non-transitory storage medium, the further instructions causing, when executed by a machine, to:

[0359] Request an uncorrectable event log from the device at the management unit; and

[0360] Receive uncorrectable event logs from the device at the management unit.

[0361] Statement 121. Embodiments of this disclosure include a system according to Statement 120, wherein applying a prediction algorithm to correctable event logs at the management unit to generate an encrypted address list includes applying the prediction algorithm to both correctable and uncorrectable event logs at the management unit to generate the encrypted address list.

[0362] Statement 122. Embodiments of this disclosure include the system described in Statement 121, wherein applying a prediction algorithm to correctable and uncorrectable event logs at the management unit to generate an encrypted address list includes: applying a prediction algorithm to correctable and uncorrectable event logs at the management unit to generate an encrypted device physical address (DPA) list.

[0363] Statement 123. Embodiments of this disclosure include the system described in Statement 120, wherein requesting an uncorrectable event log from the device at the management unit includes requesting an uncorrectable event log from the device's mailbox at the management unit.

[0364] Statement 124. Embodiments of this disclosure include the system described in Statement 123, wherein requesting an uncorrectable event log from a mailbox at the device at the management unit includes requesting an uncorrectable event log from a vendor-specific mailbox interface at the device at the management unit.

[0365] Statement 125. Embodiments of this disclosure include the system according to Statement 116, wherein further instructions are stored on a non-transitory storage medium, which, when executed by a machine, cause: the storage of an uncorrectable event record at a management unit.

[0366] Statement 126. Embodiments of this disclosure include the system described in Statement 116, wherein:

[0367] The non-transitory storage medium stores further instructions that, when executed by the machine, cause a request for a poison list from the device at the management unit; and

[0368] Applying a predictive algorithm to correctable event logs at the management unit to generate an encrypted address list includes applying a predictive algorithm to correctable event logs and a poison list at the management unit to generate an encrypted address list.

[0369] Statement 127. Embodiments of this disclosure include the system described in Statement 126, wherein further instructions are stored on a non-transitory storage medium, which, when executed by a machine, cause: a list of poisons to be stored at a management unit.

[0370] Statement 128. Embodiments of this disclosure include the system described in Statement 116, wherein further instructions are stored on a non-transitory storage medium, which, when executed by a machine, cause a correctable event record to be stored at a management unit.

[0371] Statement 129. Embodiments of this disclosure include the system described in Statement 116, wherein applying a prediction algorithm to a correctable event log at the management unit to generate a list of encrypted addresses includes:

[0372] Apply the HE library to the correctable event log to generate a second correctable event log; and

[0373] At the management unit, a prediction algorithm is applied to the second correctable event log to generate a list of encrypted addresses.

[0374] Statement 130. Embodiments of this disclosure include a system according to Statement 129, wherein applying the HE library to a correctable event record to generate a second correctable event record includes applying the HE library to the correctable event record and evaluating a key to generate the second correctable event record.

[0375] Statement 131. Embodiments of this disclosure include a system according to Statement 116, wherein sending an encrypted address list from a management unit to a device includes sending an encrypted address list and an evaluation key from the management unit to the device.

[0376] Statement 132. Embodiments of this disclosure include the system described in Statement 116, wherein further instructions are stored on a non-transitory storage medium, which, when executed by a machine, cause the database to be updated at the management unit at least in part based on a list of decrypted addresses.

[0377] Statement 133. Embodiments of this disclosure include a system according to Statement 116, wherein further instructions are stored on a non-transitory storage medium, which, when executed by a machine, cause a list of decrypted addresses to be sent from a management unit to a host.

[0378] Statement 134. Embodiments of this disclosure include the system described in Statement 116, wherein the prediction algorithm is a logarithmic base algorithm, a column / row analysis algorithm, a machine learning (ML) algorithm, or a large language model (LLM) algorithm.

[0379] Therefore, given the various arrangements of the embodiments described herein, the detailed description and the appended materials are intended to be illustrative only and should not be considered as limiting the scope of this disclosure. Thus, this disclosure claims protection for all such modifications that may fall within the scope and spirit of the appended claims and their equivalents.

Claims

1. A device for event transmission, comprising: Connection to the host or management unit; Medium, used for storing data; The controller accesses data in the medium, at least in part, based on requests from the host; A buffer stores correctable event records, which include a first field and a second field. The first field is encrypted using a homomorphic encryption (HE) algorithm and an encryption key. as well as The HE engine uses the HE algorithm to encrypt the first field in correctable event records. The management unit is configured to predict uncorrectable errors at addresses in the medium, at least in part, based on correctable event logs. The encryption key is local to the device.

2. The device according to claim 1, wherein, The equipment includes Computational Fast Link (CXL) devices.

3. The device according to claim 1, further comprising: Email, regarding communications between the correctable event log and management unit.

4. The device according to claim 1, further comprising: The second buffer stores records of uncorrectable events.

5. A method for event passing, comprising: Detect events in the equipment; Determine whether the events in the device include correctable or non-correctable events; Based at least in part on the fact that the event is a correctable event, a correctable event record is added to the device's buffer, the correctable event record including a first field and a second field; as well as The first field of the correctable event record is encrypted using a homomorphic encryption (HE) algorithm and an encryption key. The encryption key is local to the device.

6. The method according to claim 5, wherein: The method also includes: Receive access requests from the host at the device; and Perform the access request at the device; and Detecting events in a device includes detecting events in the device based at least in part on performing an access request at the device.

7. The method according to claim 5, further comprising: The device's mailbox receives requests for correctable event logging from the management unit; as well as The device sends correctable event logs from its mailbox to the management unit.

8. The method according to claim 5, further comprising: Receive a list of encrypted device addresses from the management unit at the device; The HE algorithm and encryption key are used at the device to decrypt the encrypted address list to generate a decrypted address list; as well as Send the list of decrypted addresses from the device to the management unit.

9. The method according to claim 5, further comprising: Receive a list of encrypted device addresses and an evaluation key from the management unit at the device; The HE algorithm, encryption key, and evaluation key are used at the device to decrypt the encrypted address list to generate a decrypted address list; as well as Send the list of decrypted addresses from the device to the management unit.

10. A method for event passing, comprising: At the management unit, a correctable event log is requested from the device. The correctable event log includes a first field and a second field. The first field is encrypted using a homomorphic encryption (HE) algorithm and an encryption key. Receive correctable event logs from the device at the management unit; At the management unit, a predictive algorithm is applied to the correctable event log to generate a list of encrypted addresses; Send a list of encrypted addresses from the management unit to the device; as well as Receive the list of decrypted addresses from the device at the management unit. The encryption key is local to the device.

11. The method of claim 10, wherein: Applying a predictive algorithm to the correctable event log at the management unit to generate an encrypted address list includes: applying a predictive algorithm to the correctable event log at the management unit to generate an encrypted device physical address (DPA) list; Sending an encrypted address list from the management unit to the device includes sending an encrypted DPA list from the management unit to the device; and The list of decrypted addresses received from the device at the management unit includes the list of DPAs that are decrypted from the device at the management unit.

12. The method according to claim 10, wherein, Requesting correctable event logs from the device at the management unit includes requesting correctable event logs from the device's mailbox at the management unit.

13. The method of claim 10, further comprising: Request an uncorrectable event log from the device at the management unit; as well as Receive uncorrectable event logs from the device at the management unit.

14. The method of claim 10, further comprising: Request a list of toxic substances from the device at the management unit; and Specifically, applying a prediction algorithm to correctable event logs at the management unit to generate an encrypted address list includes applying a prediction algorithm to correctable event logs and a poison list at the management unit to generate an encrypted address list.

15. The method of claim 10, further comprising: Store correctable event logs at the management unit.

16. The method of claim 10, wherein, The application of a prediction algorithm to the correctable event log at the management unit to generate a list of encrypted addresses includes: Apply the HE library to the correctable event log to generate a second correctable event log; and At the management unit, a prediction algorithm is applied to the second correctable event log to generate a list of encrypted addresses.

17. The method according to claim 10, wherein, The application of a prediction algorithm to the correctable event log at the management unit to generate a list of encrypted addresses includes: Apply the HE library and evaluation key to the correctable event log to generate a second correctable event log; and At the management unit, a prediction algorithm is applied to the second correctable event log to generate a list of encrypted addresses.

18. The method according to claim 10, wherein, Sending an encrypted address list from the management unit to the device includes sending the encrypted address list and the evaluation key from the management unit to the device.

19. The method of claim 10, further comprising: The database is updated at the management unit based at least in part on the list of decrypted addresses.

20. The method of claim 10, further comprising: Send the list of decrypted addresses from the management unit to the host.