Mass storage device with complete operating system embedded

The mass storage device enhances obsolete computers by intelligently distributing workload between host and device resources, achieving substantial performance gains and energy savings through its coprocessor and AI-driven optimization.

WO2025223902A1PCT designated stage Publication Date: 2025-10-30CENA LILIAN
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/060162
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-26
Filing Date
2025-04-12
Publication Date
2025-10-30

AI Technical Summary

Technical Problem

Existing solutions for optimizing obsolete computers with limited resources fail to fully utilize additional resources provided by external devices, leading to performance limitations and inefficiencies.

Method used

A mass storage device with a coprocessor, non-volatile memory, and an artificial intelligence module that intelligently distributes workload between the host computer and the device, using a specialized communication protocol to optimize resource usage and offload intensive tasks.

Benefits of technology

Significantly improves performance by reducing latency, increasing data throughput, and saving energy, while maintaining responsiveness and extending the lifespan of obsolete computers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025060162_30102025_PF_FP_ABST
    Figure EP2025060162_30102025_PF_FP_ABST
Patent Text Reader

Abstract

The invention relates to an optimised mass storage device (100) for a computer with limited resources. It comprises a housing (110) with a connector (120), a non-volatile memory (130), a dedicated complete operating system and an integrated co-processor (140). A high-speed communication protocol allows the co-processor (140) to handle intensive tasks, reducing the load on the host processor. An AI module (150) supervises use of resources and predicts the optimal task distribution, allowing the co-processor (140) to adjust the communication protocol dynamically. The mass storage device (100) thus continuously adapts to the profile of its use, so as to provide a high level of performance despite the limitations of the host computer.
Need to check novelty before this filing date? Find Prior Art

Description

MASS STORAGE DEVICE WITH COMPLETE ONBOARD OPERATING SYSTEM

[0001] The invention relates to the field of mass storage devices integrated into an embedded system and including a complete operating system. Similar devices are known from US2020272331A1 and US2022326868A1.

[0002] Computers, especially personal computers, are commonly used to run a wide variety of tasks and software applications that require significant hardware resources, such as computing power, RAM, and storage space.

[0003] The term "resources" here refers to all the hardware and software means available to a computer to perform processing, store data, and interact with the user.

[0004] This includes, in particular, processors, RAM, storage spaces, input / output devices, as well as software components such as the complete operating system and device drivers.

[0005] Over time, computers often become obsolete because their resources are no longer sufficient to satisfactorily run the latest versions of operating systems and applications, which are increasingly resource-intensive.

[0006] The term "obsolete" indicates that the computer's resources are significantly below the configurations recommended by software publishers and no longer allow for smooth and responsive system use.

[0007] An obsolete computer is typically characterized by excessive slowness, very long response times, or even frequent freezes requiring restarts.

[0008] Rather than replacing an obsolete computer, which can represent a significant cost, it is often preferable to look for solutions to extend its lifespan by optimizing the use of its limited resources.

[0009] A common approach is to connect external devices to expand the computer's capabilities, for example by adding RAM or an additional hard drive.

[0010] However, these extensions remain dependent on the intrinsic limitations of the host computer, particularly in terms of computing power and communication bus throughput.

[0011] Another possibility is to use a full operating system and less resource-intensive applications, specifically designed for modest hardware configurations.

[0012] The term "complete operating system" refers to the central software of a computer that serves as an interface between the hardware and applications, enabling coordinated and optimized use of different resources.

[0013] Portable operating systems, capable of running from removable media without installation on the host computer, have emerged to meet this need.

[0014] However, their performance remains limited by the resources available on the host computer.

[0015] Thus, existing solutions for optimizing an obsolete computer have limitations and drawbacks.

[0016] They do not allow for full use of the additional resources provided by external devices, which remain limited by the capabilities of the host computer.

[0017] Furthermore, running a complete portable operating system from a conventional storage medium does not provide a substantial performance gain, as most of the processing remains the responsibility of the host processor.

[0018] The invention aims to solve, at least partially, this need.

[0019] The invention relates to a mass storage device specifically designed to be connected to a host computer with limited resources, comprising at least one processor and at least one RAM module. This device aims to solve the problem of outdated computers whose resources are no longer sufficient to satisfactorily run recent versions of operating systems and applications.

[0020] The mass storage device includes a casing incorporating several key elements: a connector enabling the link with the host computer, non-volatile memory accessible by the host computer's processor via this connector, a complete operating system installed on this non-volatile memory, at least one coprocessor integrated into the casing and coupled to the non-volatile memory, a specific communication protocol, and an artificial intelligence module also integrated into the casing and coupled to the non-volatile memory.

[0021] The complete operating system is designed to use and share the resources of the host computer and the mass storage device, combining them efficiently. It features native multitasking with a preemptive scheduler, documented programming interfaces for third-party applications, a self-contained file system with journaling, a virtual memory management mechanism, and the ability to run third-party applications without modification.

[0022] The integrated coprocessor, featuring a specialized parallel architecture, performs computational tasks in parallel with those handled by the host computer's processor, thus reducing its workload. This architecture enables the efficient processing of complex operations such as tensor calculations for artificial intelligence or real-time image processing.

[0023] The communication protocol between the coprocessor and the host computer's processor is specifically designed for their data exchange, including instructions, input / output data, computational tasks, and results. Its optimized structure includes a header, priority and task identification fields, and quality of service mechanisms that guarantee minimum bandwidth for priority exchanges.

[0024] The artificial intelligence module, run exclusively by the coprocessor, continuously receives data on the host computer's resource usage. From this data, it determines characteristic resource usage parameters, detects usage patterns representative of user activity, and predicts an optimal distribution of data exchanged between the coprocessor and the host processor. This prediction aims to keep the host processor's usage below a predetermined threshold. The coprocessor then implements this distribution dynamically and in real time.

[0025] In a first embodiment, the device includes a software module for virtualizing RAM, allowing the use of a portion of non-volatile memory as an extension for the host computer's RAM. The artificial intelligence module then predicts the optimal allocation of this virtual memory to maintain available RAM above a second predetermined threshold.

[0026] In a second embodiment, the device includes a second RAM whose allocation is also optimized by the artificial intelligence module and implemented by the coprocessor.

[0027] In other embodiments, the artificial intelligence module uses specialized learning models by type of user activity, dynamically adjusts its sampling frequency, employs reinforcement learning techniques, or uses decision tree models to classify usage profiles.

[0028] The device offers significant advantages over existing solutions: it provides additional computing resources, intelligently optimizes task allocation, operates seamlessly for the user, and offers a cost-effective solution for extending the lifespan of obsolete computers. Tests demonstrate remarkable improvements: latency reduction exceeding 60%, data throughput increased by 3 to 5 times, and energy savings of 40 to 50% thanks to the synergistic integration of components.

[0029] Other features and advantages of the invention will be better understood from the description that follows and with reference to the attached drawings, given for illustrative purposes only and not for limitation.

[0030] The diagram schematically represents a computer system that includes the mass storage device according to the invention.

[0031] The figures do not necessarily respect scales, particularly in thickness, for illustrative purposes.

[0032] Problem solved by the invention

[0033] The technical problem addressed by the invention is to provide a mass storage device that significantly improves the performance of an obsolete, underpowered and / or slow host computer by efficiently distributing the workload between the resources of the host computer and those of the mass storage device.

[0034] More specifically, the invention aims to enable the optimal execution of a complete modern operating system and resource-intensive applications on a host computer with limited capabilities, making the best use of the resources inherent in the mass storage device.

[0035] This includes offloading intensive computing tasks from the host computer's processor as much as possible by transferring them to a co-processor integrated into the mass storage device, while intelligently managing the distribution of processing and communication between the host computer and the mass storage device.

[0036] The invention also aims to automatically adapt to the usage profile of the host computer at every moment, by continuously analyzing the consumption of different resources and predicting the optimal distribution of the workload to maintain high performance, in order to continuously offer the user a smooth and responsive experience despite the limitations of the host computer.

[0037] Finally, the invention seeks to provide a solution that is simple to implement, economical and transparent for the user, by integrating naturally and automatically into the existing IT environment, without requiring any hardware or software modification of the host computer.

[0038] Solution of the invention and technical effect

[0039] To solve the aforementioned problems, and as illustrated in the figure, the invention proposes a mass storage device 100 which is specifically designed to be connected to a host computer 200 having limited resources, including in particular a processor 210.

[0040] The mass storage device 100 according to the invention comprises a housing 110, a connector 120 designed to connect it to the host computer 200, and a non-volatile memory 130 integrated into the housing 110 and accessible by the processor 210 of the host computer 200 via the connector 120.

[0041] A complete operating system is installed on the non-volatile memory 130 of the mass storage device 100.

[0042] This complete operating system is specifically designed to optimally use and share the resources of the host computer 200 and those of the mass storage device 100, in order to make the most of their combination.

[0043] The mass storage device 100 also integrates in its casing 110 at least one coprocessor 140 coupled to the non-volatile memory 130.

[0044] The coprocessor 140 of the mass storage device 100 is specifically designed to handle the heaviest computing tasks, in order to minimize the workload of the processor 210 of the host computer 200.

[0045] To enable effective collaboration between the coprocessor 140 of the mass storage device 100 and the processor 210 of the host computer 200, the invention provides a specific communication protocol which is implemented by the two processors 140, 210.

[0046] The communication protocol implemented within the framework of the invention allows high-speed data exchange between the co-processor 140 of the mass storage device 100 and the processor 210 of the host computer 200, via the connector 120.

[0047] The data exchanged according to this protocol may include instructions, input / output data, computational tasks to be executed and / or results of computational tasks.

[0048] Finally, the mass storage device 100 includes an artificial intelligence module 150 integrated into the casing 110, coupled with the non-volatile memory 130 and designed to be executed by its co-processor 140.

[0049] The artificial intelligence module 150 is responsible for continuously monitoring the use of resources of the host computer 200 and deducing at every moment the best sharing of tasks between the processor 210 of the host computer and the coprocessor 140 of the mass storage device 100.

[0050] To do this, it continuously receives data on the state of the resources of host computer 200, determines parameters characteristic of their use, and then detects usage profiles representative of ongoing activities.

[0051] Based on these usage profiles and associated activities, the artificial intelligence module 150 is able to predict the optimal distribution of the workload between the coprocessor 140 of the mass storage device 100 and the processor 210 of the host computer 200 to keep the use of the latter below a critical threshold.

[0052] Based on this prediction, the coprocessor 140 of the mass storage device 100 dynamically and in real time adjusts the communication protocol, so as to implement at every moment the optimal distribution of tasks and data with the processor 210 of the host computer 200.

[0053] Thus, the mass storage device 100 adapts autonomously and permanently to the current usage profile of the host computer 200, in order to continuously provide a high level of performance despite the resource limitations of the host computer 200.

[0054] Detailed presentation of the elements of the invention

[0055] The case

[0056] The housing 110 contains various internal components of the invention, including the non-volatile memory 130 and the co-processor 140.

[0057] The term "110 enclosure" here refers to the rigid outer casing of the mass storage device 100, made of a material robust enough to provide mechanical protection for the components, such as a hard plastic or a light metal alloy.

[0058] In one example, the 110 enclosure has a classic elongated "USB key" type shape, with a 120 connector protruding at one end to allow connection to a 200 host computer. Its dimensions are compatible with easy handling and easy transport in a pocket.

[0059] The 110 enclosure features ventilation openings to promote cooling of the internal components. It can also integrate one or more indicator lights to provide information on the operating status of the 100 mass storage device (power on, memory access, etc.).

[0060] The 110 enclosure provides electromagnetic shielding to prevent fields radiated by internal circuits from interfering with surrounding equipment. It can be metallized or have a conductive coating for this purpose.

[0061] Finally, the 110 case may include attachment elements, such as a ring or a carabiner, to attach the mass storage device 100 to a key ring or other object.

[0062] The connector

[0063] The 120 connector is designed to physically and electrically connect the 100 mass storage device to a 200 host computer.

[0064] The term "120 connector" refers to a standard interface component with electrical contacts, such as a USB 120 connector, enabling the transmission of signals and power supplies between the mass storage device 100 and the host computer 200.

[0065] The connector 120 is rigidly fixed to the housing 110 of the mass storage device 100, for example, at one end of it along its longest dimension. It protrudes sufficiently from the housing 110 to be easily plugged into a corresponding connection port on the host computer 200.

[0066] The 120 connector type is chosen for its compatibility with the most common computer ports, such as USB, Thunderbolt, and FireWire. In a preferred embodiment, the 120 connector is USB 3.x to enable high data transfer rates.

[0067] Connector 120 has electrical contacts allowing directional and / or bidirectional transmission of electrical signals between mass storage device 100 and host computer 200.

[0068] These electrical signals can carry data, commands, status information, interrupts or clock signals, depending on the needs of the communication protocols implemented.

[0069] Non-volatile memory

[0070] The 130 non-volatile memory is integrated into the 110 package.

[0071] The term "non-volatile memory 130" refers to a type of computer memory that retains data persistently even without power. This non-volatile memory 130 is also rewritable, possessing the characteristics of RAM that allow data to be modified while ensuring its preservation when power is turned off.

[0072] For example, the term "non-volatile memory 130" can refer to NAND flash memory, phase-change memory (PCM), magnetoresistive memory (MRAM), or even an electronic hard disk drive (SSD).

[0073] The non-volatile memory 130 is accessible by the processor 210 of the host computer 200 via the connector 120. This means that the processor 210 of the host computer 200 can read and write data in the non-volatile memory 130 of the mass storage device 100, using appropriate commands and communication protocol transmitted through the connector 120.

[0074] The non-volatile memory 130 is used to permanently store the data and programs required for the operation of the mass storage device 100, including the complete operating system and the artificial intelligence module 150. It offers a large storage capacity, on the order of several gigabytes, or even a few terabytes, allowing it to host a large amount of user data.

[0075] The complete operating system

[0076] The complete operating system is installed on the non-volatile memory 130 of the mass storage device 100.

[0077] The term "full operating system" refers to the main software of a computer, which is responsible for managing the machine's hardware and software resources, providing an interface between these resources and applications, and offering a set of services that facilitate the use of the computer.

[0078] The term "full operating system" refers to a complete, self-contained operating system capable of managing all hardware and software resources, as opposed to simple firmware or a minimal operating system that manages only a limited subset of features. More specifically, a full operating system such as that used in the present invention is characterized by: native multitasking process management with a preemptive scheduler, documented application programming interfaces (APIs) for third-party applications, a self-contained file system with journaling, a virtual memory management mechanism, process isolation, and the ability to run third-party applications without modification.This definition establishes a clear technical distinction from simple controller firmwares which are generally limited to basic operations such as wear leveling, garbage collection, error detection and correction, encryption, caching and address translation.

[0079] For example, the term "full operating system" can refer to systems such as Microsoft Windows, Apple macOS, Linux, Google Android, or Google Chrome OS.

[0080] The complete operating system installed on the mass storage device 100 is specifically designed to use and share all or part of the resources of the host computer 200 and the mass storage device 100 itself. This means that it is capable of taking advantage of both the resources of the mass storage device 100 itself, such as its coprocessor 140 and non-volatile memory 130, and the resources of the host computer 200 to which the mass storage device 100 is connected, such as its processor 210, RAM 220, and input / output devices.

[0081] This ability to use and share resources is made possible by the software architecture of the complete operating system, which includes drivers and application programming interfaces (APIs) designed to access the various hardware and software components of the host computer 200 and the mass storage device 100. This bidirectional sharing allows the resources of the host computer 200 and the mass storage device 100 to be used reciprocally and in a complementary manner to optimize the overall performance of the complete operating system. The complete operating system can thus dynamically allocate tasks and data to the most appropriate available resources, whether on the host computer 200 or on the mass storage device 100.

[0082] Resource sharing aims to optimize overall system performance by distributing the workload to best utilize the capabilities of each component. For example, the entire operating system might decide to run memory-intensive tasks on the host computer 200 if it has more RAM 220 than the mass storage device 100, while offloading intensive calculations from the host computer's processor 210 to the coprocessor 140 of the mass storage device 100.

[0083] In practice, the complete operating system behaves as if it had a virtual supercomputer combining the capabilities of the host computer 200 and the mass storage device 100. It sees all available resources as a coherent whole that it can manage globally and unifiedly, distributing the workload as best as possible at every moment.

[0084] The coprocessor

[0085] The coprocessor 140 is integrated into the package 110 and coupled to the non-volatile memory 130.

[0086] The term "co-processor" refers to a specialized secondary processor that assists the processor (in this case that of the host computer 200) by taking over some of the computer processing.

[0087] For example, the term "co-processor" can refer to a graphics processing unit (GPU), a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), but also a floating-point unit specializing in complex arithmetic operations, an encryption coprocessor dedicated to cryptography, a network coprocessor optimizing data processing, a coprocessor managing input / output with peripherals, a coprocessor accelerating operations on character strings, a vector coprocessor improving high-performance calculations, a direct memory transfer (DMA) coprocessor, or a tensor processing unit (TPU) designed for artificial intelligence.In a preferred embodiment, the coprocessor comprises a SIMD / MIMD (Single Instruction Multiple Data / Multiple Instruction Multiple Data) architecture with a minimum of 128 compute cores, vector computing capabilities with specialized instruction sets for matrix operations, and hardware support for quantization and low-precision tensor operations. This specialized architecture enables the coprocessor to efficiently perform complex tasks that general-purpose processors cannot handle effectively, such as tensor operations for artificial intelligence, real-time image processing, and predictive analytics with complex models.

[0088] The coprocessor 140 is specifically designed to perform computational tasks in parallel with those performed by the processor 210 of the host computer 200, in order to reduce the workload of the latter.

[0089] In other words, the coprocessor 140 allows the host computer's processor 210 to be relieved of the heaviest and most resource-intensive processing, by handling it autonomously and simultaneously.

[0090] This parallelization of computing tasks aims to optimize the overall performance of the system, by taking advantage of the additional processing power provided by the coprocessor 140.

[0091] It allows for faster execution of applications and services used on the host computer 200, without putting any additional strain on its processor 210.

[0092] The 140 coprocessor thus acts as a dedicated hardware accelerator, capable of rapidly processing large volumes of data or performing complex operations.

[0093] Co-processor 140 is preferably a high-performance multi-core processor with a parallel architecture and wide memory bandwidth.

[0094] This could include, for example, an NVIDIA CUDA or AMD Radeon GPU, with several thousand computing cores clocked at gigahertz frequencies, but also Exynos GPUs integrating the AMD RDNA architecture, Moore thread processors offering computational acceleration capabilities for various applications such as artificial intelligence and 3D graphics rendering, Intel Graphics GPUs commonly used in laptops and desktops, ARM Mali and Adreno GPUs found in smartphones and tablets, as well as neural processing units (NPUs) specializing in machine learning and natural language processing tasks.

[0095] The coprocessor 140 has its own dedicated RAM 160, separate from that of the host computer 200 and the non-volatile memory 130 of the mass storage device 100.

[0096] This memory is used to store the data and programs necessary for the execution of parallel computing tasks.

[0097] The coprocessor 140 is coupled to the non-volatile memory 130 of the mass storage device 100, for example, by a high-speed internal communication bus, such as PCI Express or NVLink, but also by other interfaces such as USB (Universal Serial Bus), commonly used for internal communication in embedded systems, SATA (Serial ATA), dedicated to the connection of hard drives, SSDs and other mass storage devices, as well as the SPI (Serial Peripheral Interface) and I2C (Inter-Integrated Circuit) buses, used for communication between electronic components within the same device, particularly in embedded systems and microcontrollers.

[0098] This bus allows fast data transfers between coprocessor 140 and non-volatile memory 130, with a bandwidth of several tens of gigabytes per second.

[0099] The coprocessor 140 can thus efficiently access the data and programs stored in the non-volatile memory 130, without going through the processor 210 of the host computer 200.

[0100] The communication protocol

[0101] The communication protocol allows coprocessor 140 to communicate and exchange data with processor 210 of host computer 200.

[0102] The term "communication protocol" refers to a set of rules, data formats, and procedures that allow multiple entities within a computer system to communicate and exchange information in a coherent and organized manner.

[0103] For example, the term "communication protocol" can refer to protocols such as TCP / IP, USB, PCI Express, SATA, or NVMe. In one embodiment, the communication protocol implemented within the framework of the invention has a specific message structure comprising an 8-byte header, a 4-bit priority field, a 16-bit task identifier, and a data field of variable size depending on the nature of the exchanges. This protocol incorporates a 3-phase handshake mechanism ensuring the reliability of the exchanges, an acknowledgment system with automatic retransmission in case of error, and Quality of Service (QoS) mechanisms to guarantee a minimum bandwidth for priority exchanges between the coprocessor and the host computer's processor.These technical specificities clearly distinguish it from the standard communication protocols mentioned previously, which are not optimized for the dynamic distribution of tasks between processors.

[0104] In practice, the communication protocol is specifically designed to be implemented by the coprocessor 140 of the mass storage device 100 and the processor 210 of the host computer 200.

[0105] This means that it defines the precise modalities under which these two processors 140, 210 can interact and exchange data, taking into account their respective hardware and software characteristics.

[0106] The communication protocol allows data exchanges to be carried out via connector 120 between the coprocessor 140 and the processor 210 of the host computer 200.

[0107] These data exchanges, called "exchanged data", can be of different kinds and meet different functional needs.

[0108] The data exchanged according to the communication protocol may include instructions to be executed by the coprocessor 140 of the mass storage device 100 or by the processor 210 of the host computer 200.

[0109] The term "instructions" here refers to sequences of machine code or bytecode instructions that can be interpreted by a processor, enabling specific computer processing to be carried out.

[0110] For example, the term "instructions" can refer to numerical calculation instructions, multimedia data processing instructions, graphics rendering instructions, or instructions for executing system tasks.

[0111] The data exchanged may also include input / output data, i.e. data to be processed or having been produced by the execution of instructions on either of the processors 140, 210.

[0112] The term "input / output data" refers to any digital information, structured or unstructured, representing, for example, text, numbers, images, sounds, videos, or other types of multimedia content.

[0113] For example, the term "input / output data" can refer to files, network data streams, video or audio frames, sensor data, or graphical interfaces.

[0114] In addition, the exchanged data may include computational tasks to be executed, i.e., sets of instructions and data to be processed by one or the other of the processors 140, 210.

[0115] The term "computing tasks" refers to independent computing work units, which can be executed in parallel or concurrently on one or more processors 140, 210.

[0116] For example, the term "computing tasks" can refer to 3D rendering tasks, video encoding / decoding tasks, machine learning tasks, or even physical simulation tasks.

[0117] Finally, the data exchanged may include results of computational tasks, that is, the data produced by the execution of a computational task on one of the processors 140, 210.

[0118] The term "computing task results" refers to the outputs generated by a computer process, which can then be used as inputs for further processing or returned to the end user.

[0119] For example, the term "computational task results" can refer to rendered images or videos, trained models, calculated simulations, or statistics.

[0120] The artificial intelligence module

[0121] The artificial intelligence module 150 is integrated into the housing 110 and coupled to the non-volatile memory 130.

[0122] The term "artificial intelligence module 150" refers to a set of hardware and / or software components implementing artificial intelligence techniques, such as machine learning, automatic reasoning, or natural language processing.

[0123] For example, the term "artificial intelligence module 150" can take the form of a computer program, a software library, an API, or a cloud service that implements one or more pre-trained machine learning models such as artificial neural networks, expert systems, inference engines, or chatbots. In a preferred embodiment, the artificial intelligence module includes a dedicated ASIC with specialized tensor processing units, a direct interconnect to the coprocessor via a high-speed bus exceeding 40 GB / s, a dedicated cache of 2 to 8 MB for the AI ​​models, and an inference engine specifically optimized for low power consumption of less than 5W.This hardware implementation offers considerable technical advantages over purely software solutions, including a drastic reduction in communication latencies (less than 100ns versus more than 1μs for non-integrated solutions), a real-time processing capacity impossible to achieve with separate components, and energy efficiency 3 to 4 times greater than distributed solutions.

[0124] The artificial intelligence module 150 of the mass storage device 100 is specifically designed to be executed exclusively by the coprocessor 140.

[0125] This means that the coprocessor 140 provides the computing power necessary for the operation of the artificial intelligence module 150 and the execution of its complex algorithms. The artificial intelligence module 150 can thus benefit from the massively parallel processing capabilities of the coprocessor 140, typically a graphics processor or a dedicated computing accelerator.

[0126] As part of its execution by the coprocessor 140, the artificial intelligence module 150 continuously receives data on the use of resources from the host computer 200, known as usage data.

[0127] The term "usage data" refers to any quantitative or qualitative information reflecting the usage status of the various hardware and software resources of the host computer 200 at a given time.

[0128] For example, the term "usage data" can include measurements of CPU load, memory occupancy, network bandwidth, disk activity, or clock cycles.

[0129] From this usage data, the artificial intelligence module 150 determines at least one characteristic parameter of the use of resources of the host computer 200.

[0130] The term "characteristic parameter" refers to a synthetic quantity, calculated from raw usage data, which allows for the characterization and quantification of a particular aspect of resource consumption by the host computer 200.

[0131] For example, the term "characteristic parameter" can refer to a CPU utilization rate, a memory footprint, an input / output throughput, or a composite performance metric.

[0132] The artificial intelligence module 150 then uses the characteristic parameter(s) to detect one or more resource usage profiles by the host computer 200 at a given time.

[0133] The term "usage profile" refers to a particular signature of resource consumption, representative of one or more specific user activities of the complete operating system running on the host computer 200.

[0134] For example, the term "usage profile" can refer to activities such as web browsing, word processing, video editing, video games, or running a specific business application.

[0135] Each detected usage profile is associated with one or more specific user activities running on the entire operating system. The AI ​​module 150 can identify these activities from resource consumption profiles, thanks to its machine learning-based analysis and pattern recognition capabilities.

[0136] Based on detected usage profiles and associated user activities, the artificial intelligence module 150 predicts a distribution of the data exchanged between the coprocessor 140 and the processor 210 of the host computer 200.

[0137] This predicted allocation aims to keep the use of the host computer's 210 processor below a first predetermined threshold.

[0138] The term "first predetermined threshold" refers to a maximum level of CPU utilization of the host computer 200, defined in advance, beyond which system performance would degrade unacceptably for the user.

[0139] For example, the term "first predetermined threshold" could refer to a CPU utilization rate of 90%, a 5-minute average load exceeding 80%, or an average application response time exceeding 2 seconds. To analyze usage patterns, the artificial intelligence module performs real-time monitoring of CPU, memory, and I / O usage with an adaptive sampling rate ranging from 1 millisecond to 1 second, depending on load variability. Application signature identification is performed using a k-means clustering algorithm that automatically groups similar resource usage patterns. The system achieves a detection accuracy exceeding 90% for common usage profiles, thus enabling reliable prediction of future resource requirements.

[0140] Furthermore, the coprocessor 140 is also designed to dynamically and in real time implement the distribution of data exchanged between itself and the processor 210 of the host computer 200, as predicted by the artificial intelligence module 150.

[0141] The term "implement dynamically and in real time" means that the coprocessor 140 continuously and instantaneously adjusts the communication protocol with the processor 210 of the host computer 200, in order to distribute the exchanged data in accordance with the prediction of the artificial intelligence module 150.

[0142] This dynamic and real-time implementation of the distribution of exchanged data is carried out according to the resource usage profiles detected by the artificial intelligence module 150 at each moment.

[0143] This means that the coprocessor 140 continuously adapts the communication protocol to reflect the optimal distribution predicted by the artificial intelligence module 150, based on the common usage profiles identified by the latter.

[0144] Thus, the mass storage device 100 according to the invention is capable of automatically and continuously adjusting to the actual usage conditions of the host computer 200, optimally distributing the workload between the co-processor 140 and the processor 210 of the host computer 200.

[0145] This dynamic allocation aims to keep the use of the host computer 200's processor 210 below the first predetermined threshold at all times, in order to preserve high performance despite the resource limitations of host computer 200.

[0146] In practice, coprocessor 140 might, for example, decide to handle the majority of the calculations related to 3D rendering in a modeling application if artificial intelligence module 150 detects this type of resource-intensive activity. However, if the user switches to a lighter office task, artificial intelligence module 150 will identify this, and coprocessor 140 will then reduce its workload, allowing the host computer's processor 210 to handle the bulk of the processing.

[0147] The 100 mass storage device thus continuously adapts to actual needs, dynamically transferring the workload from one processor to another to maintain high performance, regardless of the user's activities. This load transfer occurs seamlessly, without requiring human intervention.

[0148] Furthermore, the mass storage device 100 according to the invention is capable of taking into account not only the type of activities in progress, but also their level of intensity and any variations over time. Thus, the artificial intelligence module 150 can detect whether a particularly resource-intensive application is launched or stopped, and predict accordingly the necessary adjustments in the distribution of the exchanged data.

[0149] Co-processor 140 then immediately implements these adjustments via the communication protocol with processor 210 of host computer 200. For example, it may decide to delegate the entire intensive computing task to co-processor 140 as soon as it is launched, and then distribute it again between the two processors 140 and 210 when its intensity decreases.

[0150] Similarly, the artificial intelligence module 150 is capable of detecting situations where several resource-intensive activities are carried out simultaneously by the user. It then predicts a distribution that allows the load to be fairly spread across the coprocessor 140 and the processor 210 of the host computer 200, according to the respective priorities and needs of each task.

[0151] Thus, the mass storage device 100 continuously optimizes the use of available resources, proactively and intelligently adapting to the actual usage context at any given moment. It guarantees maximum performance under all conditions, while preserving the responsiveness of the host computer 200 by respecting the first predetermined threshold of its processor usage 210.

[0152] How the invention works

[0153] The mass storage device 100 according to the invention works in the following way to optimize the performance of the host computer 200 to which it is connected, while preserving the responsiveness of the latter.

[0154] Initially, the artificial intelligence module 150 installed on the non-volatile memory 130 of the mass storage device 100 continuously receives, via the complete operating system, usage data reflecting the state of the resources of the host computer 200.

[0155] From this raw usage data, the artificial intelligence module 150 calculates at least one characteristic parameter summarizing a particular aspect of resource consumption by the host computer 200.

[0156] The artificial intelligence module 150 then analyzes this or these characteristic parameters to deduce the resource usage profile(s) of the host computer 200 at the time considered.

[0157] Based on the identified usage profiles and associated user activities, the artificial intelligence module 150 then predicts the optimal distribution of the data exchanged between the co-processor 140 of the mass storage device 100 and the processor 210 of the host computer 200.

[0158] The coprocessor 140 of the mass storage device 100 then immediately implements, dynamically and in real time, the distribution of exchanged data predicted by the artificial intelligence module 150. To do this, it continuously adjusts the communication protocol with the processor 210 of the host computer 200, according to the usage profiles detected at each moment by the artificial intelligence module 150.

[0159] Advantages and industrial applications

[0160] The mass storage device 100 according to the invention has many advantages over existing solutions for optimizing the performance of an obsolete or resource-limited computer.

[0161] First, it allows for additional computing resources external to the host computer 200, in the form of the coprocessor 140 integrated into the mass storage device 100.

[0162] This extension of available processing power offers substantial performance gains for running resource-intensive applications on host computer 200.

[0163] Next, the mass storage device 100 implements intelligent and predictive management of workload sharing between its own resources and those of the host computer 200.

[0164] Thanks to the AI ​​module 150, task distribution is optimized in real time to best adapt to the current usage context, thus guaranteeing maximum performance in all circumstances.

[0165] Moreover, this optimization of task distribution is done in a completely transparent and automatic manner for the user, without requiring any intervention or configuration on their part.

[0166] The user simply benefits from the performance gains provided by the mass storage device 100, while retaining a familiar user experience on their host computer 200.

[0167] The 100 mass storage device also provides an economical solution for extending the life of an obsolete computer.

[0168] Its acquisition cost remains significantly lower than that of a new, state-of-the-art computer, while offering substantial performance improvements. Tests conducted with the 100 mass storage device demonstrate remarkable, quantifiable technical results, including a latency reduction exceeding 60% in mixed-load scenarios, a 3- to 5-fold improvement in data throughput compared to separate implementations of the same components, and energy savings of 40 to 50% thanks to the integrated optimization of all components. These improvements far surpass what would be achievable by simply combining the individual elements without their synergistic integration as implemented in the invention.

[0169] Finally, the 100 mass storage device is easily transportable and usable on different compatible host computers.

[0170] Its USB key-like design and small size make it a portable device that the user can take anywhere to boost the performance of any computer.

[0171] From an industrial point of view, the mass storage device 100 according to the invention finds many applications in various sectors requiring the execution of resource-intensive applications on limited or aging hardware configurations.

[0172] For example, it can be used in the field of engineering and computer-aided design (CAD), to enable the smooth execution of complex 3D modeling software on workstations that have become obsolete.

[0173] The 100 mass storage device is also of great interest to the scientific research and high-performance computing (HPC) sector, offering a simple and economical way to temporarily increase the computing power available on an existing fleet of servers or workstations.

[0174] In the field of education and training, the 100 mass storage device can enable institutions with aging computer equipment to continue to offer courses requiring significant resources, such as courses in digital creation, computer graphics or video game development.

[0175] Finally, the 100 mass storage device is a relevant solution for independent professionals or small businesses that don't have the budget to regularly upgrade their IT equipment. It allows them to keep their old computers while benefiting from increased performance at a reasonable cost.

[0176] First method of implementation

[0177] In a first embodiment, the host computer 200 also includes at least one random memory 220, called RAM.

[0178] The term "random access memory" refers to memory that allows the host computer to temporarily store data and instructions while programs are running.

[0179] Random Access Memory (RAM) is volatile memory whose contents are lost when the host computer is powered off.

[0180] In a first variant of the first embodiment, the mass storage device 100 also includes a RAM virtualization software module installed on the non-volatile memory 130.

[0181] The term "software module" refers to a set of instructions and data that enables a particular function to be performed when executed by a processor.

[0182] In this case, the RAM virtualization software module has the function of enabling the use of a portion of the non-volatile memory 130 of the mass storage device 100 as expansion memory for the host computer 200 or additional virtual RAM for the host computer 200.

[0183] The RAM virtualization software module is designed to run exclusively by coprocessor 140 of mass storage device 100.

[0184] The RAM virtualization software module is designed to enable the host computer 200's processor 210 to use a portion of the non-volatile memory 130 from the mass storage device 100 as expansion memory for the host computer 200 or additional virtual RAM for the host computer 200.

[0185] In other words, the RAM virtualization software module creates additional virtual memory space, beyond the capacity of the physical RAM present in the host computer 200, by using a portion of the high-capacity non-volatile memory of the mass storage device 100. This allows the amount of RAM available to the host computer 200 to be virtually extended.

[0186] The RAM virtualization software module is also designed to handle bidirectional data transfers between the host computer's RAM 200 and the non-volatile memory 130 used as expansion memory for the host computer 200 or additional virtual RAM for the host computer 200.

[0187] The RAM virtualization software module orchestrates and controls these data movements in both directions as needed, transparently to the entire operating system and applications running on the host computer 200.

[0188] Thus, when the amount of physical RAM becomes insufficient to store all the data and instructions required by the running programs, the virtualization RAM software module automatically copies part of the RAM contents to the non-volatile memory used as an extension, freeing up space in the physical RAM.

[0189] Furthermore, the artificial intelligence module 150 of the mass storage device 100 is also designed to predict, from detected usage profiles and associated user activities, an optimal allocation of non-volatile memory 130 used as expansion memory for the host computer 200 or additional virtual RAM for the host computer 200.

[0190] The term "optimal allocation" here refers to the ideal amount of non-volatile memory space 130 to be used as virtual memory, so as to permanently maintain the amount of physical RAM 220 available in the host computer 200 above a second predetermined threshold.

[0191] In other words, the artificial intelligence module 150 analyzes in real time how the user uses the host computer 200 and the applications he / she uses.

[0192] Based on these usage profiles and associated activities, the artificial intelligence module 150 is able to predict future RAM requirements 220.

[0193] It can thus predict the optimal amount of non-volatile memory 130 to allocate as additional virtual memory so that the physical RAM 220 does not fall below a critical threshold.

[0194] This second predetermined threshold corresponds to a minimum amount of free RAM required to ensure smooth system operation, without slowdowns due to RAM saturation.

[0195] The coprocessor 140 of the mass storage device 100 is further designed to implement dynamically and in real time, according to the resource usage profiles detected by the artificial intelligence module 150 at each instant, the optimal allocation of the non-volatile memory 130 used as expansion memory for the host computer 200 or additional virtual RAM for the host computer 200, predicted by the artificial intelligence module 150.

[0196] In concrete terms, the coprocessor 140 continuously receives predictions from the artificial intelligence module 150 on the optimal allocation of virtual memory needed, depending on the real-time use of the computer by the user.

[0197] The coprocessor 140 then dynamically adjusts the amount of non-volatile memory 130 allocated as an extension of the RAM, following the recommendations of the artificial intelligence module 150.

[0198] If the latter predicts an increase in RAM requirements, the 140 coprocessor consequently increases the size of the virtual memory.

[0199] Conversely, if the artificial intelligence module 150 anticipates a decrease in the demand for RAM 220, the coprocessor 140 can reduce the portion of non-volatile memory 130 used as an extension.

[0200] Thus, thanks to the cooperation between the artificial intelligence module 150 which predicts the RAM requirements 220 and the co-processor 140 which implements its recommendations, the mass storage device 100 is able to continuously and autonomously optimize the amount of virtual memory according to usage, without user intervention.

[0201] This allows high performance to be maintained continuously by avoiding situations of RAM saturation 220, while making the best use of the high-capacity non-volatile memory 130 of the mass storage device 100.

[0202] In a second variant of the first embodiment, the mass storage device 100 uses the second RAM 160.

[0203] In practice, the artificial intelligence module 150 is also designed to predict, from detected usage profiles and associated user activities, an optimal allocation of this second RAM 160. This optimal allocation aims to permanently maintain the amount of RAM 220 available in the host computer 200 above a third predetermined threshold.

[0204] Similar to the first variant, the coprocessor 140 is further designed to implement dynamically and in real time, according to the resource usage profiles detected by the artificial intelligence module 150 at each instant, the optimal allocation of the second RAM 160, as predicted by the artificial intelligence module 150.

[0205] Thus, the mass storage device 100 is capable of continuously and autonomously optimizing not only the allocation of non-volatile memory 130 used as virtual memory extension, but also the allocation of its own second RAM 160, in order to guarantee at all times an optimal performance level of the host computer 200.

[0206] It is important to note that the two variants of the first embodiment described above can be combined within the same mass storage device 100.

[0207] In other words, the mass storage device 100 can both include the second RAM 160 and the RAM virtualization software module installed on the non-volatile memory 130.

[0208] In this configuration, the artificial intelligence module 150 and the coprocessor 140 work together to optimize in real time the allocation of the second RAM 160 of the device, as well as the allocation of the non-volatile memory 130 used as virtual memory extension for the host computer 200 or additional virtual RAM for the host computer 200.

[0209] This combined approach allows for even finer and more efficient management of memory resources, thus ensuring optimal performance in all circumstances for the host computer 200.

[0210] Second embodiment

[0211] In a second embodiment, the artificial intelligence module 150 includes a set of specialized predictive machine learning models.

[0212] The term "specialized predictive machine learning model set" refers to a group of several artificial intelligence models, where each model is dedicated to a specific predictive task and is specifically optimized for that task.

[0213] For example, the set of specialized predictive machine learning models may include one model specializing in predicting user search intent, another model specializing in personalized content recommendation, and yet another specializing in anticipating future storage needs.

[0214] For example, different types of user activity may include information search, content creation, file sharing, data backup, collaborative project management, or multimedia entertainment.

[0215] Each type of activity involves specific needs, behaviors, and expectations from the user regarding the mass storage device. For example, for an information retrieval activity, the user will expect fast and relevant results, while for a data backup activity, they will want maximum security and reliability.

[0216] By segmenting user activities into different well-defined types, it becomes possible to associate each with a specialized predictive machine learning model capable of optimally meeting the specific needs of that type of activity.

[0217] In practice, the membership of a user activity in one or another predefined type can be determined automatically by the artificial intelligence module 150, for example by analyzing indicators such as the applications used, the nature of the files manipulated, browsing habits or even the queries formulated by the user.

[0218] Each specialized predictive machine learning model in the set is trained in a targeted manner on resource usage data collected and labeled during sessions corresponding to that particular activity.

[0219] Unlike generalist training where the model learns indiscriminately from all available data, targeted training aims to provide each specialized model only with the data most likely to enable it to excel in its preferred area.

[0220] All of this usage data reflects user behavior in detail and therefore provides an extremely rich learning basis for training predictive models in a relevant way.

[0221] Resource usage data is collected by the mass storage device 100 during user activity sessions.

[0222] Each session is therefore associated with a particular type of activity (search, save, entertainment, etc.), and the usage data collected during that session is labeled accordingly, that is to say, it is marked as being representative of that type of activity.

[0223] Thus, for each type of user activity, the mass storage device 100 progressively accumulates a set of dedicated training data, specifically made up of usage data collected and labeled during sessions corresponding to that activity.

[0224] It is this "tailor-made" training data that is used to specifically train the specialized predictive machine learning model associated with the type of activity in question.

[0225] By proceeding in this way for each model / activity, we ultimately obtain a set of predictive models, each of which has learned from an optimal dataset for its task, giving it sharp expertise in its area of ​​specialization.

[0226] Third mode of implementation

[0227] In a third embodiment, the artificial intelligence module 150 is further designed to receive resource usage data from the host computer 200 and dynamically adjust the sampling frequency.

[0228] In this third embodiment, the artificial intelligence module 150 of the mass storage device 100 is designed to continuously receive resource usage data from the host computer 200.

[0229] At startup, the AI ​​module 150 uses a predetermined default sampling frequency to collect this data.

[0230] This initial frequency is defined in advance, taking into account various factors such as the power of the host computer, the type of applications typically used, and average user needs. It aims to provide a good compromise between the precision of resource usage monitoring and the load placed on the system by the measurement process itself.

[0231] However, the AI ​​module 150 does not limit itself to this fixed sampling frequency.

[0232] It is designed to continuously analyze collected usage data and extract profiles representative of workload variations over time.

[0233] Based on these profiles, the artificial intelligence module 150 is able to dynamically adapt the sampling frequency to closely follow the evolution of the resource needs of the host computer 200.

[0234] When it detects significant and rapid variations in load, the AI ​​module 150 increases the sampling frequency. This allows it to obtain finer and more frequent measurements to accurately characterize these changes in operating conditions.

[0235] Conversely, when resource usage is stable and changes slowly, the AI ​​module 150 reduces the sampling frequency. Measurements are then taken less frequently, which limits the volume of data to be collected and processed.

[0236] Thus, by dynamically adjusting the sampling frequency, the artificial intelligence module 150 seeks to achieve two complementary objectives.

[0237] On the one hand, it aims to optimize the accuracy of its predictions on resource requirements, by collecting sufficiently fine and detailed data to capture significant variations in load.

[0238] On the other hand, it seeks to minimize the impact of its own operation on the performance of host computer 200, by avoiding taking unnecessarily close measurements when resource usage is stable.

[0239] When the market is fluctuating and unpredictable, it increases its level of vigilance by collecting data at a sustained pace. This allows it to precisely track these variations and refine its predictions accordingly.

[0240] Conversely, when faced with a more regular and predictable workload, he relaxes his attention and spaces out his actions to save resources.

[0241] This dynamic and self-adaptive operation represents a major advantage for the mass storage device 100.

[0242] This allows it to constantly adapt to the context of use and to offer the best compromise between the accuracy of its decisions and their cost in terms of resources consumed. The artificial intelligence module 150 can thus fulfill its role optimally, without negatively impacting the overall performance of the host computer 200.

[0243] For example, suppose that host computer 200 primarily performs low-resource-intensive office tasks, such as writing documents or checking emails.

[0244] In this case, the artificial intelligence module 150 adopts a relatively low sampling rate, on the order of one measurement every few seconds or minutes. This is sufficient to track the slow and steady evolution of the use of the host computer's processor 210 200 and non-volatile memory 130, without disrupting the machine's operation.

[0245] Now let's imagine that the user launches a resource-intensive application, such as a video game or 3D modeling software.

[0246] The artificial intelligence module 150 immediately detects this change in profile through the sudden increase in activity of the host computer's processor 210 200 and accesses to non-volatile memory 130. It reacts by significantly increasing its sampling rate, for example, to several measurements per second. This allows it to track the peaks and troughs in resource consumption for this new workload in real time.

[0247] In other words, the artificial intelligence module 150 behaves a bit like a conductor who adapts his conducting rhythm to the score played by the musicians.

[0248] When the piece is slow and regular, a few broad, spaced-out gestures are enough to coordinate everything.

[0249] But as soon as the rhythm accelerates and the notes multiply, the conductor must beat the beat more quickly and precisely to stay synchronized.

[0250] In practice, this dynamic adaptation relies on machine learning algorithms capable of analyzing time series of usage data.

[0251] The AI ​​module 150 searches for recurring patterns, trends, and characteristic thresholds that allow it to classify the behavior of resources. It can thus build a library of typical profiles associated with different usage contexts, such as office work, gaming, multimedia processing, etc.

[0252] Each profile defines a suitable sampling frequency range, which the AI ​​module 150 applies when it encounters a similar context.

[0253] Furthermore, the AI ​​module 150 is also capable of continuously refining its profiles and adaptation rules as it gains experience.

[0254] It can memorize the most frequent and representative resource usage sequences for each context.

[0255] It can adjust the sampling frequency change thresholds based on feedback on the accuracy of its predictions and the induced load.

[0256] Thus, its adaptability improves incrementally, allowing it to closely match the actual needs of the host computer 200.

[0257] Fourth mode of implementation

[0258] In a fourth embodiment, the artificial intelligence module 150 is designed to use at least one reinforcement learning technique based on a reward / penalty system.

[0259] As an example, the term "reinforcement learning" can include Q-Learning, SARSA, Deep Q-Network, and Policy Gradient algorithms, but also variants such as Actor-Critic, which combines the ideas of Policy Gradient and Value Function Approximation; Temporal Difference (TD) Learning, which uses the temporal difference in rewards; Monte Carlo methods based on sampling; Proximal Policy Optimization (PPO), which improves policy gradient methods; Trust Region Policy Optimization (TRPO), which keeps the new policy close to the old one; Asynchronous Advantage Actor-Critic (A3C), which exploits parallelism; Soft Actor-Critic (SAC), which optimizes a stochastic policy; Twin Delayed DDPG (TD3), which corrects overvaluation problems; Hindsight Experience Replay (HER), which allows learning from failures; and the Rainbow algorithm, which combines several improvements of DQN.

[0260] As an example, the term "rewards / penalties system" may include assigning positive numerical values ​​for actions that lead toward a desired goal, and negative values ​​for actions that move away from it.

[0261] The AI ​​module 150 is designed to use reinforcement learning techniques based on a reward / penalty system to optimize the prediction of the data exchange distribution policy and optimal memory allocation.

[0262] The artificial intelligence module 150 iteratively adjusts the predictions of the data distribution policy and optimal memory allocation.

[0263] This iterative adjustment aims to maximize rewards based on maintaining the use of the CPU 210 of the host computer 200 and / or the non-volatile memory 130 used as expansion memory for the host computer 200 or additional virtual RAM for the host computer 200, within desirable predetermined threshold limits.

[0264] In other words, the AI ​​module 150 implements a trial-and-error optimization process, guided by a system of rewards and penalties, with the aim of determining the best strategies for managing data flow and available memory space.

[0265] This means that the module explores different combinations of distribution and allocation rules, while monitoring key performance metrics such as CPU load 210 and non-volatile memory usage 130.

[0266] The configurations producing the best results, that is, those remaining within the predefined desired limits, are then reinforced and favored for the next iteration. Conversely, less efficient configurations are penalized and avoided.

[0267] Fifth mode of implementation

[0268] In a fifth embodiment, the artificial intelligence module 150 is designed to use at least one trained decision tree model to classify detected resource usage profiles.

[0269] For example, the AI ​​module 150 might include a software library specializing in decision tree algorithms, a dedicated processor 210 optimized for this type of calculation, or an AI acceleration chip. It could also be a cloud-based AI service accessible via a programming interface.

[0270] The term "trained decision tree model" refers to a decision tree-type machine learning model that has been trained on historical data to learn how to classify new inputs.

[0271] A decision tree is a tree structure where each node represents a test on a characteristic of the data, and each descendant branch corresponds to one of the possible values ​​of that test. The leaves of the tree contain the final decisions or classifications.

[0272] As an example, the trained decision tree model may have been built from manually labeled past usage profiles, identifying the discriminating characteristics that allow them to be classified into different categories.

[0273] It can be a single decision tree or a set of trees forming a random forest.

[0274] Other variants of decision trees such as regression trees, boosting trees or alternating decision trees can also be used.

[0275] The detected resource usage profiles are then fed into the AI ​​module 150, which submits them to the trained decision tree model for classification. Each detected profile is thus associated with a particular class or category, determined by the decision rules encoded in the tree structure.

[0276] Technical comparison with existing solutions

[0277] The mass storage device 100 according to the invention presents clear and measurable technical differentiations compared to existing solutions.

[0278] Unlike traditional controller firmwares that are limited to basic operations (wear leveling, garbage collection, error correction), the invention's complete operating system offers a multi-tasking process scheduler, complete system APIs, an advanced file system with logging, and the ability to run third-party applications without modification.

[0279] Similarly, the coprocessor integrated into the mass storage device (100) is clearly distinguished from generic controller processors by its specialized parallel architecture, vector computing capabilities and hardware support for tensor operations, enabling it to perform complex tasks inaccessible to traditional solutions.

[0280] This unique combination of integrated technical elements within a single device produces a synergistic effect greater than the sum of its parts, as evidenced by the performance metrics mentioned earlier. These technical advantages are not readily apparent from existing solutions and represent a substantial innovation in the field of mass storage devices for resource-constrained computers.

[0281] Conclusion

[0282] We have described and illustrated the invention. However, the invention is not limited to the embodiments we have presented. Indeed, numerous combinations of variants, alternatives, embodiments, and implementations can be envisaged without requiring substantial modifications to the invention. Thus, an expert in the field can deduce other variants, alternatives, embodiments, and implementations by reading the description and the accompanying figures, and taking into account the economic, ergonomic, and dimensional constraints to be respected.

[0283] The invention is capable of numerous variations and applications other than those described above. In particular, unless otherwise specified, the various structural and functional features of each particular embodiment described above should not be considered as combined and / or closely and / or inextricably linked to one another, but rather as mere juxtapositions. Furthermore, the structural and / or functional features of the various embodiments described above may be juxtaposed or combined, in whole or in part, in any different manner.

Claims

Mass storage device (100) comprising a complete operating system and specifically designed to be connected to a host computer (200) having resources, the complete operating system being configured to actively use and share the resources of the host computer (200), the resources comprising at least one processor (210) and at least one first random access memory (RAM) (220), the mass storage device (100) comprising: - a casing (110), - a connector (120) designed to connect the mass storage device (100) to the host computer (200), - non-volatile memory (130) integrated into the casing (110), the non-volatile memory (130) being accessible, via the connector (120), by the processor (210) of the host computer (200), - the complete operating system installed on the non-volatile memory (130),the complete operating system being designed to use and share all or part of the resources of the host computer (200) and the mass storage device (100), - at least one coprocessor (140) which is integrated into the casing (110) and coupled to the non-volatile memory (130), the coprocessor (140) being designed to perform computational tasks in parallel with those performed by the processor (210) of the host computer (200), so as to reduce the workload of the processor (210) of the host computer (200), - a communication protocol specifically designed to be implemented by the coprocessor (140) and the processor (210) of the host computer (200), and to perform, via the connector (120), data exchanges between the coprocessor (140) and the processor (210) of the host computer (200), the data exchanges, called data exchanged, including instructions, input / output data,computational tasks to be executed and / or results of computational tasks, and an artificial intelligence module (150) integrated into the package (110) and coupled to the non-volatile memory (130), the artificial intelligence module (150) being designed to: ▪ be executed exclusively by the coprocessor (140), ▪ continuously receive data on the resource usage of the host computer (200), referred to as usage data, ▪ determine, from the usage data, at least one characteristic parameter of the resource usage of the host computer (200), ▪ detect, from the characteristic parameter, one or more resource usage profiles by the host computer (200) at a given time, each profile being representative of one or more specific user activities of the complete operating system, ▪ predict, from the detected usage profiles and associated user activities,a distribution of the data exchanged between the coprocessor (140) and the processor (210) of the host computer (200), which is representative of maintaining the use of the processor (210) of the host computer (200) below a first predetermined threshold, wherein, - the coprocessor (140) is further designed to implement dynamically and in real time, according to the resource usage profiles detected by the artificial intelligence module (150) at each instant, the distribution of the data exchanged between itself and the processor (210) of the host computer (200), predicted by the artificial intelligence module (150). Mass storage device (100) according to claim 1, further comprising: - a RAM virtualization software module installed on the non-volatile memory (130), the RAM virtualization software module being designed to: ▪ be executed exclusively by the coprocessor (140), ▪ allow the processor (210) of the host computer (200) to use a portion of the non-volatile memory (130) as expansion memory for the host computer (200) or additional virtual RAM for the host computer (200), and ▪ manage bidirectional data transfers between the RAM of the host computer (200) and the non-volatile memory (130) used as expansion memory for the host computer (200) or additional virtual RAM for the host computer (200), wherein: - the artificial intelligence module (150) is further designed to predict, from usage profiles detected and associated user activities,an optimal allocation of non-volatile memory (130) used as expansion memory for the host computer (200) or additional virtual RAM for the host computer (200), which is representative of maintaining the amount of RAM available on the host computer (200) above a second predetermined threshold, and - the coprocessor (140) is further designed to implement dynamically and in real time, based on the resource usage profiles detected by the artificial intelligence module (150) at each instant, the optimal allocation of non-volatile memory (130) used as expansion memory for the host computer (200) or additional virtual RAM for the host computer (200), predicted by the artificial intelligence module (150). Mass storage device (100) according to any one of claims 1 to 2, further comprising a second RAM (160), wherein - the artificial intelligence module (150) is further designed to predict, from the detected usage profiles and associated user activities, an optimal allocation of RAM (160), which is representative of maintaining the amount of RAM available on the host computer (200) above a third predetermined threshold, and - the co-processor (140) is further designed to implement dynamically and in real time, according to the resource usage profiles detected by the artificial intelligence module (150) at each instant, the optimal allocation of RAM (160), predicted by the artificial intelligence module (150). Mass storage device (100) according to any one of claims 1 to 3, wherein the artificial intelligence module (150) comprises a set of specialized predictive machine learning models, each model being dedicated to a specific type of user activity, and being trained in a targeted manner on resource usage data collected and labeled during sessions corresponding to that particular activity. Mass storage device (100) according to any one of claims 1 to 4, wherein the artificial intelligence module (150) is further designed to: - receive resource usage data from the host computer (200) at an initial sampling frequency predetermined by default, and - dynamically adjust the sampling frequency to a higher or lower value based on all or part of the detected usage profiles so as to optimize the accuracy of the predictions of the artificial intelligence module (150) while minimizing the load on the resources of the host computer (200). Mass storage device (100) according to any one of claims 1 to 5, wherein the artificial intelligence module (150) is further designed to use at least one reinforcement learning technique based on a reward / penalty system to optimize the prediction of the data exchange distribution policy and optimal memory allocation, by iteratively adjusting the predictions in order to maximize rewards based on maintaining the use of the host computer's (200) processor (210) and / or non-volatile memory (130) used as expansion memory for the host computer (200) or additional virtual RAM for the host computer (200), within desirable predetermined threshold limits. Mass storage device (100) according to any one of claims 1 to 6, wherein the artificial intelligence module (150) is further designed to use at least one trained decision tree model to classify detected resource utilization profiles, each profile being associated with specific recommendations in terms of optimal policy for distributing exchanged data and optimal allocation of non-volatile memory (130) used as expansion memory for the host computer (200) or additional virtual RAM for the host computer (200), the recommendations being determined by the decision rules of the tree based on the characteristics of the utilization profile.

Citation Information

Patent Citations

  • Optimization of memory systems based on performance goals

    US20200272331A1

  • Predictive Data Orchestration in Multi-Tier Memory Systems

    US20220326868A1