Electronic system, method for operating the same, and computer-readable medium

By designing preprocessing blocks and learning blocks with learning mechanisms in electronic systems, the problem of excessive system bandwidth consumption when processing large amounts of data is solved, higher system performance and functions are achieved, and the efficiency and performance of the system are improved.

CN112181289BActive Publication Date: 2025-07-01SAMSUNG ELECTRONICS CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202010876188.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2015-10-07
Filing Date
2015-12-31
Publication Date
2025-07-01
Estimated Expiration
2035-12-31

AI Technical Summary

Technical Problem

When existing electronic systems process large amounts of data, they can easily lead to excessive system bandwidth consumption, causing system access conflicts and resource consumption, thereby reducing system performance and functions.

Method used

Design an electronic system with a learning mechanism to realize data preprocessing and machine learning processes through storage interfaces and storage control units. The system includes preprocessing blocks and learning blocks for dividing data based on system information and processing parts of the data through distributed machine learning to improve system performance.

Benefits of technology

Through distributed machine learning, the performance and functions of the system when processing large amounts of data are improved, the system bandwidth consumption is reduced, the system access conflicts and resource consumption is avoided, and the overall system efficiency and performance is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112181289B_ABST
    Figure CN112181289B_ABST
Patent Text Reader

Abstract

An electronic system, a method of operating an electronic system, and a non-transitory computer-readable medium are disclosed. An electronic system includes: a computing device interface configured to receive system information; a computing device control unit coupled to the computing device interface and configured to implement: a preprocessing block for dividing initial data into a first part of data to be processed by a system device and a second part of data to be processed by a computing device based on the system information, and a learning block for processing the second part of data as part of a distributed distributed machine learning process.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the patent application for invention titled "Electronic System with Learning Mechanism and Its Operating Method" with the application date of December 31, 2015, application number 201511030671.3.

[0002] Cross - reference to related applications

[0003] This application claims the priority of U.S. Provisional Patent Application Serial No. 62 / 099,067 filed on December 31, 2014 and U.S. Non - Provisional Patent Application Serial No. 14 / 877,421 filed on October 7, 2015, and the subject matter thereof is incorporated herein by reference. Technical Field

[0004] Embodiments of the present invention generally relate to electronic systems, and more particularly to systems with machine learning. Background Art

[0005] Modern consumer and enterprise electronic products, especially devices such as graphics display systems, televisions, projectors, cellular phones, portable digital assistants, client workstations, data center servers, and combination devices, are providing an increasingly high level of functionality to support modern life. Research and development in the prior art can take many different directions.

[0006] An increasingly high level of functionality typically requires increased memory and storage processing. Processor and memory capacity and bandwidth can be key factors in increasing the performance and functionality of a device or system. As with other electronic components or modules, there is a trade - off between the area and cost of memory and its performance and functionality.

[0007] Processing large amounts of data can improve the performance and functionality of a device or system. Unfortunately, processing large amounts of data can consume a large amount of system bandwidth, introduce system access conflicts, and consume system resources, all of which reduce system performance and functionality.

[0008] Thus, there is still a need for an electronic system with a learning mechanism to process large amounts of data to improve system performance. Given the increasing commercial competitive pressure, as well as the growing consumer expectations and the shrinking opportunity for meaningful product differentiation in the market, it is becoming increasingly critical to find answers to these problems. In addition, the need to reduce costs, improve efficiency and performance, and address competitive pressures adds even greater urgency to the critical necessity of finding answers to these problems.

[0009] Solutions to these problems have been sought for a long time, but previous developments have not taught or suggested any solutions, and thus, solutions to these problems have not been available to those skilled in the art. Summary of the Invention

[0010] Embodiments of the present invention provide an electronic system, comprising: a storage interface configured to receive system information; a storage control unit coupled to the storage interface and configured to implement: a preprocessing block for partitioning data based on the system information; and a learning block for processing a partial data of the data to facilitate a distributed machine learning process.

[0011] Embodiments of the present invention provide a method for operating an electronic system, comprising: receiving system information by using a storage interface; partitioning data based on the system information by using a storage control unit configured to implement the preprocessing block; and distributing a machine learning process by using a storage control unit configured to implement the learning block to process a partial data of the data.

[0012] Embodiments of the present invention provide a non-transitory computer-readable medium, comprising instructions stored thereon that will be executed by a control unit to perform operations, comprising: receiving system information by using a storage interface; partitioning data based on the system information by using a storage control unit configured to implement the preprocessing block; and distributing a machine learning process by using the storage control unit to process a partial data of the data, wherein the storage control unit is configured to implement a learning block coupled to a storage block having data and partial data.

[0013] Embodiments of the present invention provide an electronic system, comprising: a computing device interface configured to receive system information; a computing device control unit coupled to the computing device interface and configured to implement: a preprocessing block for partitioning initial data into a first partial data to be processed by system devices and a second partial data to be processed by the computing device based on the system information; and a learning block for processing the second partial data as part of a distributed machine learning process.

[0014] Embodiments of the present invention provide a method for operating an electronic system, comprising: receiving system information by using the computing device interface; partitioning, based on the system information, initial data into a first partial data to be processed by system devices and a second partial data to be processed by the computing device by using the computing device control unit; and processing the second partial data as part of a distributed machine learning process.

[0015] Embodiments of the present invention provide a non-transitory computer-readable medium, comprising instructions stored thereon that will be executed by a control unit, comprising: receiving system information by using the computing device interface; partitioning, based on the system information, initial data into a first partial data to be processed by system devices and a second partial data to be processed by the computing device by using the computing device control unit; and processing the second partial data as part of a distributed machine learning process.

[0016] In addition to or in place of those mentioned above, certain embodiments of the present invention have other steps or elements. Those skilled in the art will become aware of these steps or elements by referring to the accompanying drawings and reading the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 is an electronic system in an embodiment of the present invention.

[0018] Figure 2 is a block diagram of a part of an e - learning system of the electronic system in an embodiment of the present invention.

[0019] Figure 3 is a block diagram of a part of an e - learning system of the electronic system in an embodiment of the present invention.

[0020] Figure 4 is a block diagram of a part of an e - learning system of the electronic system in an embodiment of the present invention.

[0021] Figure 5 is a block diagram of a part of an e - learning system of the electronic system in an embodiment of the present invention.

[0022] Figure 6 is a block diagram of a part of an e - learning system of the electronic system in an embodiment of the present invention.

[0023] Figure 7 is a block diagram of a part of a storage device of the electronic system in an embodiment of the present invention.

[0024] Figure 8 is a block diagram of a part of an e - learning system of the electronic system in an embodiment of the present invention.

[0025] Figure 9 is a block diagram of a part of an e - learning system of the electronic system in an embodiment of the present invention.

[0026] Figure 10 is a block diagram of a part of an e - learning system of the electronic system in an embodiment of the present invention.

[0027] Figure 11 is a block diagram of a part of an e - learning system of the electronic system in an embodiment of the present invention.

[0028] Figure 12 is a block diagram of a part of an e - learning system of the electronic system in an embodiment of the present invention.

[0029] Figure 13 is a block diagram of a part of an e - learning system of the electronic system in an embodiment of the present invention.

[0030] Figure 14It is the process flow of the e - learning system of the electronic system in the embodiments of the present invention.

[0031] Figure 15 It is a block diagram of a part of the e - learning system of the electronic system in the embodiments of the present invention.

[0032] Figure 16 It is an example of an embodiment of the electronic system.

[0033] Figure 17 It is a flowchart of the operation method of the electronic system in the embodiments of the present invention. Detailed implementation manners

[0034] In the embodiments of the present invention, the learning system may include machine learning. Machine learning may include algorithms capable of learning from data, including enabling a computer to act without being explicitly programmed, automated reasoning, automated adaptation, automated decision - making, automated learning, the ability of a computer to learn without being explicitly programmed, artificial intelligence (AI), or a combination of these. Machine learning can be considered a class of artificial intelligence (AI). Machine learning may include classification, regression, feature learning, online learning, unsupervised learning, supervised learning, clustering, dimensionality reduction, structured prediction, anomaly detection, neural networks, or a combination of these.

[0035] In the embodiments of the present invention, the learning system may include a machine learning system capable of processing or analyzing "big data". A parallel or distributed storage device with in - storage computing (ISC) can accelerate big - data machine learning and analysis. Such a parallel or distributed learning system can transfer the functional burden to the ISC to obtain additional bandwidth and reduce the input and output (I / O) of the storage and the host processor. Such a parallel or distributed learning system can provide machine learning with ISC.

[0036] In the embodiments of the present invention, the parallel or distributed learning system can be implemented by using in - storage computing (ISC), a scheduler, or a combination of these. ISC can provide significant improvements in a learning system including parallel or distributed learning. ISC can provide another processor for machine learning, provide an accelerator to assist the host central processing unit, or provide a combination of both, such as pre - processing at the ISC to alleviate a bandwidth bottleneck once it is detected. The scheduler can intelligently assign data, tasks, functions, operations, or a combination of these.

[0037] The following embodiments are described in sufficient detail to enable those skilled in the art to make and use the present invention. It is to be understood that other embodiments will be apparent based on this disclosure, and that system, process, or mechanical changes may be made without departing from the scope of the embodiments of the present invention.

[0038] In the following description, numerous specific details are given to aid in a thorough understanding of the present invention. However, it will be clear that the present invention may be practiced without these specific details. To avoid obscuring the embodiments of the present invention, some well-known circuit, system configurations, and process steps are not disclosed in detail.

[0039] The figures showing embodiments of the system are semi-schematic and not to scale, and in particular, some dimensions are given for clarity of presentation and are shown exaggerated in the drawings. Similarly, while the views in the drawings generally show similar orientations for ease of description, such depictions in the drawings are arbitrary in most cases. In general, the present invention may operate in any orientation. For convenience of description, the embodiments may be numbered as a first embodiment, a second embodiment, etc., and are not intended to have any other meaning or to provide a limitation on the embodiments of the present invention.

[0040] Now refer to Figure 1 , in which an electronic system 100 in an embodiment of the present invention is shown. The electronic system 100 having a learning mechanism includes a first device 102, a communication path 104, or a combination thereof, where the first device 102 is, for example, a client or a server, and the communication path 104 is, for example, a wireless or wired network. The first device 102 may be coupled to a second device 106, which is, for example, a client or a server. The first device 102 may be coupled to the communication path 104 to be coupled to the second device 106. For example, the first device 102, the second device 106, or a combination thereof may be any one of a variety of devices, such as a client, a server, a display device, a node of a cluster, a node of a supercomputer, a cellular phone, a personal digital assistant, a laptop computer, other multifunctional devices, or a combination thereof. The first device 102 may be directly or indirectly coupled to the communication path 104 to communicate with the second device 106 or may be an independent device.

[0041] For illustration, the electronic system 100 is shown in the case where the second device 106 and the first device 102 are endpoints of the communication path 104, but it is to be understood that the electronic system 100 may have different partitions among the first device 102, the second device 106, and the communication path 104. For example, the first device 102, the second device 106, or a combination thereof may also act as part of the communication path.

[0042] In one embodiment, communication path 104 can span and represent multiple networks. For example, communication path 104 can include a system bus, wireless communication, wired communication, optical, ultrasonic, or a combination thereof. Peripheral Component Interconnect Express (PCIe), Peripheral Component Interconnect (PCI), Industry Standard Architecture (ISA), Serial Advanced Technology Attachment (SATA), Small Computer Serial Interface (SCSI), Enhanced Integrated Drive Electronics (EIDE), Non-Volatile Memory Host Controller Interface, Non-Volatile Memory express (NVMe) interface, Serial Advanced Technology Attachment express (SATAe), and Accelerated Graphics Port (AGP) are examples of system bus technologies. Satellite, cellular, Bluetooth, and wireless fidelity (WiFi) are examples of wireless communication. Ethernet, 10 Gigabit Ethernet, 40 Gigabit Ethernet, 100 Gigabit Ethernet, InfiniBand TM , Digital Subscriber Line (DSL), and Fiber to the Home (FTTH) are examples of wired communication. All of the above can be included in communication path 104.

[0043] In one embodiment, the first device 102 can include a first control unit 112, a first storage unit 114, a first communication unit 116, and a first user interface 118. The first control unit 112 can include a first control interface 122. The first control unit 112 can execute the first software of the first storage medium 126 to provide the intelligence of the electronic system 100. The first control unit 112 can be implemented in a variety of different ways.

[0044] For example, the first control unit 112 may be a processor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a system on a chip (SOC), an embedded processor, a microprocessor, a multiprocessor, one or more chip-multiprocessors (CMPs), hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof. The first control interface 122 can be used for communication between the first control unit 112 and other functional units in the first device 102. The first control interface 122 can also be used for communication external to the first device 102.

[0045] In one embodiment, the first control interface 122 can receive information from other functional units or from an external source, or can send information to other functional units or to an external destination. The external source and the external destination refer to sources and destinations external to the first device 102. The first control interface 122 can be implemented in different ways and may include different implementations depending on which functional units or external units are interfacing with the first control interface 122. For example, the first control interface 122 can be implemented using a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), an optical circuit, a waveguide, a wireless circuit, a wired circuit, or a combination thereof.

[0046] In one embodiment, the first storage unit 114 may store the first software of the first storage medium 126. The first storage unit 114 may also store related information, such as data including images, information, sound files, any form of social network day, user profiles, behavioral data, cookies, any form of large collection of user data, or combinations thereof. The first storage unit 114 may be a volatile memory, a non-volatile memory, an internal memory, an external memory, or a combination thereof. For example, the first storage unit 114 may be a non-volatile storage device such as a non-volatile random access memory (NVRAM), a non-volatile memory (NVM), a non-volatile memory express (NVMe), a flash memory, a disk storage device, or a volatile storage device such as a static random access memory (SRAM).

[0047] In one embodiment, the first storage unit 114 may include a first storage interface 124. The first storage interface 124 may be used for communication between the first storage unit 114 and other functional units in the first device 102. The first storage interface 124 may also be used for communication external to the first device 102. The first storage interface 124 may receive information from other functional units or from an external source, or may send information to other functional units or to an external destination. The external source and the external destination refer to sources and destinations external to the first device 102.

[0048] In one embodiment, depending on which functional units or external units are interfacing with the first storage unit 114, the first storage interface 124 may include different implementations. The first storage interface 124 may be implemented using technologies and techniques similar to those of the implementation of the first control interface 122.

[0049] In one embodiment, the first communication unit 116 may enable external communication to and from the first device 102. For example, the first communication unit 116 may allow the first device 102 to communicate with Figure 1 the second device 106, accessories such as peripherals or computer desktops, and the communication path 104. The first communication unit 116 may also act as a communication center that allows the first device 102 to act as part of the communication path 104 rather than being limited to an endpoint or terminal unit of the communication path 104. The first communication unit 116 may include active and passive components, such as microelectronics or antennas, for interacting with the communication path 104.

[0050] In one embodiment, the first communication unit 116 may include a first communication interface 128. The first communication interface 128 may be used for communication between the first communication unit 116 and other functional units in the first device 102. The first communication interface 128 may receive information from other functional units or may send information to other functional units. Depending on which functional units are interfacing with the first communication unit 116, the first communication interface 128 may include different implementations. The first communication interface 128 may be implemented using technologies and techniques similar to those of the first control interface 122.

[0051] In one embodiment, the first user interface 118 allows a user (not shown) to interface with and interact with the first device 102. The first user interface 118 may include an input device and an output device. Examples of the input device of the first user interface 118 may include a keypad, a mouse, a touchpad, soft keys, a keyboard, a microphone, an infrared sensor for receiving remote signals, a virtual display console for remote access, a virtual display terminal for remote access, or any combination thereof to provide data and communication input. In one embodiment, the first user interface 118 may include a first display interface 130. The first display interface 130 may include a display, a projector, a video screen, speakers, a remote network display, a virtual network display, or any combination thereof.

[0052] In one embodiment, the first storage interface 124 may, in a manner similar to the first control interface 122, receive, process, send, or any combination thereof, information for the first storage control unit 132 from other functional units, external sources, external destinations, or combinations thereof. The first storage control unit 132 may be a processor, an application specific integrated circuit (ASIC), a system on a chip (SOC), an embedded processor, a microprocessor, a multiprocessor, one or more chip multiprocessors (CMP), hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), a field programmable gate array (FPGA), or a combination thereof.

[0053] In one embodiment, the second device 106 may be optimized for embodiments of implementing the present invention in a multi-device embodiment with the first device 102. Compared with the first device 102, the second device 106 may provide additional or higher performance processing power. The second device 106 may include a second control unit 134, a second communication unit 136, and a second user interface 138.

[0054] In one embodiment, the second user interface 138 allows a user (not shown) to interface with and interact with the second device 106. The second user interface 138 may include an input device and an output device. Examples of the input device of the second user interface 138 may include a keypad, a mouse, a touchpad, soft keys, a keyboard, a microphone, a virtual display console for remote access, a virtual display terminal for remote access, or any combination thereof to provide data and communication input. Examples of the output device of the second user interface 138 may include the second display interface 140. The second display interface 140 may include a display, a projector, a video screen, speakers, a remote network display, a virtual network display, or any combination thereof.

[0055] In one embodiment, the second control unit 134 may execute the second software of the second storage medium 142 to provide the intelligence of the second device 106 of the electronic system 100. The second software of the second storage medium 142 may operate in conjunction with the first software of the first storage medium 126. Compared with the first control unit 112, the second control unit 134 may provide additional performance. The second control unit 134 may operate the second user interface 138 to display information. The second control unit 134 may also execute the second software of the second storage medium 142 for other functions of the electronic system 100, including operating the second communication unit 136 to communicate with the first device 102 through the communication path 104.

[0056] In one embodiment, the second control unit 134 may be implemented in a variety of different ways. For example, the second control unit 134 may be a processor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a system on a chip (SOC), an embedded processor, a microprocessor, a multiprocessor, (one or more) chip multiprocessors (CMP) on a chip, hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination of these. The second control unit 134 may include a second controller interface 144. The second controller interface 144 may be used for communication between the second control unit 134 and other functional units in the second device 106. The second controller interface 144 may also be used for communication external to the second device 106.

[0057] In one embodiment, the second controller interface 144 may receive information from other functional units or from an external source, or may send information to other functional units or to an external destination. The external source and external destination refer to sources and destinations external to the second device 106. The second controller interface 144 may be implemented in different ways and may include different implementations depending on which functional units or external units are interfacing with the second controller interface 144. For example, the second controller interface 144 may be implemented using a pressure sensor, an inertial sensor, a microelectromechanical system (MEMS), an optical circuit, a waveguide, a radio circuit, a wired circuit, or a combination thereof.

[0058] In one embodiment, the second storage unit 146 may store the second software on the second storage medium 142. The second storage unit 146 may also store related information, such as data including images, information, sound files, any form of social network day, user profiles, behavioral data, cookies, any form of large collection of user data, or a combination thereof. The size of the second storage unit 146 may be set to provide additional storage capacity to supplement the first storage unit 114. For illustration, the second storage unit 146 is shown as a single element, but it is to be understood that the second storage unit 146 may be a distribution of storage elements. Also for illustration, the electronic system 100 is shown with the second storage unit 146 being a single-level storage system, but it is to be understood that the electronic system 100 may have a second storage unit 146 with different configurations.

[0059] For example, the second storage unit 146 may be formed using different storage technologies that form a memory hierarchy system including different levels of cache, main memory, rotating media, or offline storage devices. The second storage unit 146 may be a volatile memory, a non-volatile memory, an internal memory, an external memory, or a combination thereof. Additionally, for example, the second storage unit 146 may be a non-volatile storage device such as a non-volatile random access memory (NVRAM), a flash memory, a disk storage device, or a volatile storage device such as a static random access memory (SRAM).

[0060] In one embodiment, the second storage unit 146 may include a second storage interface 148. The second storage interface 148 may be used for communication between other functional units in the second device 106. The second storage interface 148 may also be used for communication external to the second device 106.

[0061] In one embodiment, the second storage interface 148 may receive information from other functional units or from an external source, or may send information to other functional units or to an external destination. The external source and external destination refer to sources and destinations external to the second device 106. Depending on which functional units or external units are interfacing with the second storage unit 146, the second storage interface 148 may include different implementations. The second storage interface 148 may be implemented using technologies and techniques similar to those of the implementation of the second controller interface 144. The second communication unit 136 may enable external communication to and from the second device 106. For example, the second communication unit 136 may allow the second device 106 to communicate with the first device 102 via the communication path 104.

[0062] In one embodiment, the second communication unit 136 may also act as a communication hub that allows the second device 106 to act as part of the communication path 104 rather than being limited to an endpoint or terminal unit of the communication path 104. The second communication unit 136 may include active and passive components, such as microelectronics or antennas, for interacting with the communication path 104. The second communication unit 136 may include a second communication interface 150. The second communication interface 150 may be used for communication between the second communication unit 136 and other functional units in the second device 106. The second communication interface 150 may receive information from other functional units or may send information to other functional units.

[0063] In one embodiment, depending on which functional units are interfacing with the second communication unit 136, the second communication interface 150 may include different implementations. The second communication interface 150 may be implemented using technologies and techniques similar to those of the implementation of the second controller interface 144. The first communication unit 116 may be coupled to the communication path 104 to send information to the second device 106 in the first device transmission 108. The second device 106 may receive the information from the first device transmission 108 of the communication path 104 in the second communication unit 136.

[0064] In one embodiment, the second communication unit 136 may be coupled to the communication path 104 to send information to the first device 102 in the second device transmission 110. The first device 102 may receive the information from the second device transmission 110 of the communication path 104 in the first communication unit 116. The electronic system 100 may be executed by the first control unit 112, the second control unit 134, or a combination thereof.

[0065] For illustration purposes, the second device 106 is shown with a division having a second user interface 138, a second storage unit 146, a second control unit 134, and a second communication unit 136, but it is understood that the second device 106 may have a different division. For example, the second software of the second storage medium 142 may be divided differently such that some or all of its functions may be in the second control unit 134 and the second communication unit 136. Additionally, the second device 106 may include Figure 1 other functional units not shown for clarity.

[0066] In one embodiment, the second storage interface 148 may, in a manner similar to the second control interface 144, receive, process, transmit, or any combination thereof, information for the second storage control unit 152 from other functional units, external sources, external destinations, or a combination of these. The second storage control unit 152 may be a processor, an application specific integrated circuit (ASIC), a system on a chip (SOC), an embedded processor, a microprocessor, a multiprocessor, one or more chip multiprocessors (CMPs), hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), a field programmable gate array (FPGA), or a combination of these.

[0067] In one embodiment, the functional units in the first device 102 may operate individually and independently of other functional units. The first device 102 may operate individually and independently of the second device 106 and the communication path 104. Similarly, the functional units in the second device 106 may operate individually and independently of other functional units. The second device 106 may operate individually and independently of the first device 102 and the communication path 104. For illustration purposes, the electronic system 100 is described through the operation of the first device 102 and the second device 106. It is understood that the first device 102 and the second device 106 may operate any function, process, application, or combination thereof, of the electronic system 100.

[0068] In one embodiment, the functions, processes, applications, or combinations thereof described in the present application may be at least partially implemented as instructions stored on a non-transitory computer-readable medium to be executed by the control unit 112. The non-transitory computer medium may include the storage unit 114. The non-transitory computer-readable medium may include non-volatile memory such as a hard disk drive (HDD), non-volatile random access memory (NVRAM), solid-state storage device (SSD), compact disk (CD), digital video disk (DVD), universal serial bus (USB) flash device, Blu-ray disc TM , any other computer-readable medium, or a combination thereof. The non-transitory computer-readable medium may be integrated as part of the electronic system 100 or installed as a removable part of the electronic system 100.

[0069] In one embodiment, the functions, processes, applications, or combinations thereof described in the present application may be implemented as instructions stored on a non-transitory computer-readable medium to be executed by the first control unit 112, the second control unit 134, or a combination thereof. The non-transitory computer medium may include the first storage unit 114, the second storage unit 146, or a combination thereof. The non-transitory computer-readable medium may include non-volatile memory such as a hard disk drive (HDD), non-volatile random access memory (NVRAM), solid-state storage device (SSD), compact disk (CD), digital video disk (DVD), universal serial bus (USB) flash device, Blu-ray disc TM , any other computer-readable medium, or a combination thereof. The non-transitory computer-readable medium may be integrated as part of the electronic system 100 or installed as a removable part of the electronic system 100.

[0070] In one embodiment, the functions, processes, applications, or combinations thereof described in the present application may be part of the first software of the first storage medium 126, the second software of the second storage medium 142, or a combination thereof. These functions, processes, applications, or combinations thereof may also be stored in the first storage unit 114, the second storage unit 146, or a combination thereof. The first control unit 112, the second control unit 134, or a combination thereof may execute these functions, processes, applications, or combinations thereof to operate the electronic system 100.

[0071] In one embodiment, the electronic system 100 is described by way of example in terms of functions, processes, applications, sequences, or combinations thereof. The electronic system 100 may divide these functions, processes, applications, or combinations thereof differently or order these functions, processes, applications, or combinations thereof differently. The functions, processes, applications, or combinations thereof described in this application may be hardware implementations, hardware circuits, or hardware accelerators in the first control unit 112 or the second control unit 134. These functions, processes, applications, or combinations thereof may also be hardware implementations, hardware circuits, or hardware accelerators within the first device 102 or the second device 106 but outside the first control unit 112 or the second control unit 134 respectively.

[0072] Now refer to Figure 2 , which shows a block diagram of a part of the e - learning system 200 of the electronic system 100 in an embodiment of the present invention. The e - learning system 200 may be implemented using Figure 1 the first device 102, Figure 1 the second device 106, integrated circuits, integrated circuit cores, integrated circuit components, micro - electromechanical systems (MEMS), passive devices, or combinations thereof.

[0073] In one embodiment, the e - learning system 200 may provide machine learning. Machine learning may include algorithms capable of learning from data, including enabling a computer to act without being explicitly programmed, automated reasoning, automated adaptation, automated decision - making, automated learning, the ability of a computer to learn without being explicitly programmed, artificial intelligence (AI), or combinations thereof. Machine learning may be considered a class of artificial intelligence (AI). Machine learning may be implemented when it is not feasible to design and program explicit rule - based algorithms.

[0074] In one embodiment, the e - learning system 200 may provide machine learning including prediction, recommendation, filtering such as spam filtering, machine learning processes, machine learning functions, or combinations thereof. In some embodiments, the prediction may be based on clicking or selecting an advertisement or an advertiser, may recommend one or more items, may filter spam, may include a like process, or combinations thereof, to provide, for example, machine learning for big data analysis.

[0075] In one embodiment, the e - learning system 200 may also include parallel or distributed machine learning, which includes cluster computing for parallel processing in system processors and in - storage - computing (ISC) processors. The parallel or distributed machine learning for parallel processing may utilize at least Figure 1 the first control unit 112, Figure 1 the second control unit 134, Figure 1 the first storage unit 114, Figure 1the first storage medium 126, Figure 1 the second storage medium 142, Figure 1 the second storage unit 146, Figure 1 the first storage control unit 132, Figure 1 the second storage control unit 152, or a combination thereof.

[0076] For example, the e - learning system 200 may include learning blocks 210 such as machine - learning blocks, initial data blocks 230 such as raw data blocks, processed data blocks 250, model blocks 270, or a combination thereof. The processed data block 250 may include partial data blocks of the initial data block 230, intelligent updated data blocks of the initial data block 230, intelligent selected data blocks of the initial data block 230, data with different formats, data with different data structures, or a combination thereof, for further processing or for primary machine learning. The learning block 210, the initial data block 230, the processed data block 250, the model block 270, or a combination thereof may be at least partially implemented as hardware such as integrated circuits, integrated circuit cores, integrated circuit components, micro - electro - mechanical systems (MEMS), passive devices, or a combination thereof.

[0077] For illustration, the learning block 210, the initial data block 230, the processed data block 250, the model block 270, or a combination thereof are shown as discrete blocks, but it should be understood that any block may share parts of the hardware with any other block. For example, the initial data block 230, the processed data block 250, the model block 270, or a combination thereof may share parts of the hardware memory circuits or components such as the first storage unit 114, the second storage unit 146, the first storage medium 126, the second storage medium 142, or a combination thereof.

[0078] In one embodiment, the learning block 210 may provide machine learning, including parallel or distributed processing, cluster computing, or a combination thereof. The learning block 210 may be implemented in a system processor, a storage - in - computing (ISC) processor, the first control unit 112, the second control unit 134, the first storage control unit 132, the second storage control unit 152, the first storage unit 114, the second storage unit 146, or a combination thereof.

[0079] In one embodiment, the initial data block 230 may include a storage device having raw data, unprocessed data, partially processed data, or a combination thereof. The initial data block 230 may be implemented in a storage device, a memory device, a first storage unit 114, a second storage unit 146, a first storage medium 126, a second storage medium 142, or a combination thereof. The processed data block 250 may include a storage device having processed data such as the unprocessed data of the initial data block 230 after processing. The processed data block 250 may be implemented in a storage device, a memory device, a first storage unit 114, a second storage unit 146, a first storage medium 126, a second storage medium 142, or a combination thereof.

[0080] In one embodiment, the model block 270 may include a storage device. For example, the storage device may include data, information, applications, machine learning data, analyzed big data, big data analytics, or a combination thereof. The model block 270 may be implemented in a storage device, a memory device, a system processor, a storage-in-compute (ISC) processor, a first storage unit 114, a second storage unit 146, a first control unit 112, a second control unit 134, a first storage control unit 132, a second storage control unit 152, or a combination thereof.

[0081] It has been found that controlling the assignment of selected data such as the initial data 230, the first data 250, or a combination thereof may provide improved performance. Controlling the assignment may include detecting the saturation of communication resources such as the input and output (I / O) bandwidth of a communication path 104 such as Figure 1 the saturation of the computing resources of a processor such as a central processing unit (CPU), a control unit, a first control unit 112, a second control unit 134, a first storage control unit 132, a second storage control unit 152, or a combination thereof. For example, the computation of the initial data 230 to the first data 250 may cause the bandwidth saturation of the first control unit 112, the second control unit 134, the communication path 104, the interface, or a combination thereof, such as a capacity limitation, which may be addressed by a preprocessing block for assigning or allocating processing between a computing device and a storage device based on system information as further described below.

[0082] For illustration, the learning block 210, the initial data block 230, the processed data block 250, the model block 270, or a combination thereof are shown as discrete blocks, but it is to be understood that any number, combination, distribution, segmentation, division, or a combination thereof of blocks may be included. For example, the learning block 210 may include multiple blocks distributed across multiple devices. Additional details for embodiments of the learning block 210, the initial data block 230, the processed data block 250, the model block 270, or a combination thereof are provided in the subsequent description of the drawings.

[0083] Now refer to Figure 3 , which shows a block diagram of a part of an e - learning system 300 of an electronic system 100 in an embodiment of the present invention. In a manner similar to that of Figure 2 's electronic system 200, the e - learning system 300 can be implemented by using Figure 1 's first device 102, Figure 1 's second device 106, integrated circuits, integrated circuit cores, integrated circuit components, micro - electromechanical systems (MEMS), passive devices, or a combination of these.

[0084] In one embodiment, the e - learning system 300 can provide machine learning. Machine learning can include algorithms capable of learning from data, including enabling a computer to act without being explicitly programmed, automated reasoning, automated adaptation, automated decision - making, automated learning, the ability of a computer to learn without being explicitly programmed, artificial intelligence (AI), or a combination of these. Machine learning can be considered a class of artificial intelligence (AI). Machine learning can be implemented when it is not feasible to design and program explicit rule - based algorithms.

[0085] In one embodiment, the e - learning system 300 can provide machine learning including prediction, recommendation, filtering such as spam filtering, machine learning processes, machine learning functions, or a combination of these. In some embodiments, prediction can be based on, for example, clicking on or selecting an advertisement or an advertiser, can recommend one or more items, can filter spam, can include a like process, or a combination of these, to provide machine learning for big data analysis, for example.

[0086] In one embodiment, the e - learning system 300 can also include parallel or distributed machine learning, which includes cluster computing for parallel processing in system processors and in - storage computing (ISC) processors. The parallel or distributed machine learning for parallel processing can be implemented by at least using Figure 1 's first control unit 112, Figure 1 's second control unit 134, Figure 1 's first storage unit 114, Figure 1 's second storage unit 146, Figure 1 's first storage control unit 132, Figure 1 's second storage control unit 152, Figure 1 's first storage medium 126, Figure 1 's second storage medium 142, or a combination of these.

[0087] In one embodiment, the e - learning system 300 may include a learning device 310, such as a machine - learning device, which includes a first learning device 312, a second learning device 314, a third learning device 316, or a combination thereof. The e - learning system 300 may also include a data block 350, such as a training data block, which includes a first data block 352, a second data block 354, a third data block 356, or a combination thereof. The e - learning system 300 may further include a model device 370, which includes a first model device 372, a second model device 374, or a combination thereof. The device 310, the data block 350, the model device 370, or a combination thereof may be at least partially implemented as hardware such as an integrated circuit, an integrated - circuit core, an integrated - circuit component, a micro - electro - mechanical system (MEMS), a passive device, or a combination thereof.

[0088] For example, the device 310 may be implemented using a first control unit 112, a second control unit 134, a first storage control unit 132, a second storage control unit 152, or a combination thereof. The data block 350 may be implemented using a first storage unit 114, a second storage unit 146, a first storage medium 126, a second storage medium 142, or a combination thereof. The model device 370 may be implemented using a first control unit 112, a second control unit 134, a first storage control unit 132, a second storage control unit 152, a first storage unit 114, a second storage unit 146, or a combination thereof. For illustration, the machine - learning device 310, the data block 350, the model device 370, or a combination thereof are shown as discrete blocks, but it is understood that, in a manner similar to the e - learning system 200, any block may share portions of the hardware with any other block.

[0089] In one embodiment, the e - learning system 300 may include a place - model process 390 for updating, modifying, correcting, replacing, writing, recording, inputting, or a combination thereof of a model or model parameters 376, such as a first model device 372, a second model device 374, or a combination thereof. The model may be updated, modified, corrected, replaced, written, recorded, input, or a combination thereof on the model device 370 using the machine - learning device 310.

[0090] In one embodiment, the place - model process 390, the machine - learning process, the big - data process, any other process, or a combination thereof may include a network 394. For example, the network 394 may include any one of a variety of networks and may include a network transfer 396, a network capacity 398, or a combination thereof in a manner similar to Figure 1 the communication path 104. The network transfer 396 may transfer the model or model parameters 376. The network capacity 398 may include the amount of network transfer 396 supported by the network 394.

[0091] In one embodiment, the learning system 300 may provide detection, identification, monitoring, measurement, verification, or a combination thereof of a network 394, network transmission 396, network capacity 398, or a combination thereof. The learning system 300, including the learning device 310, data block 350, model device 370, or a combination thereof, may detect or identify problems or bottlenecks in the network capacity 398.

[0092] It has been found that the learning system 300 may detect bottlenecks in parallel or distributed machine learning systems. The learning system 300 may at least detect or identify problems in the network capacity 398.

[0093] Now refer to Figure 4 , in which a block diagram of a part of the electronic learning system 400 of the electronic system 100 in an embodiment of the present invention is shown. In a manner similar to the Figure 2 electronic system 200, the electronic learning system 400 may utilize Figure 1 the first device 102 of Figure 1 , the second device 106 of

[0094] an integrated circuit, an integrated circuit core, an integrated circuit component, a microelectromechanical system (MEMS), a passive device, or a combination thereof to implement.

[0095] In one embodiment, the electronic learning system 400 may provide machine learning. Machine learning may include algorithms capable of learning from data, including enabling a computer to act without being explicitly programmed, automated reasoning, automated adaptation, automated decision-making, automated learning, the ability of a computer to learn without being explicitly programmed, artificial intelligence (AI), or a combination thereof. Machine learning may be considered a class of artificial intelligence (AI). Machine learning may be implemented when it is not feasible to design and program explicit rule-based algorithms.

[0096] In one embodiment, the electronic learning system 400 may also include parallel or distributed machine learning, which includes cluster computing for parallel processing in system processors and in-storage computing (ISC) processors. The parallel or distributed machine learning for parallel processing may at least utilize Figure 1 the first control unit 112 of Figure 1 the second control unit 134 of Figure 1 the first storage unit 114 ofFigure 1 the second storage unit 146, Figure 1 the first storage control unit 132, Figure 1 the second storage control unit 152, Figure 1 the first storage medium 126, Figure 1 the second storage medium 142, or a combination thereof.

[0097] In one embodiment, the e - learning system 400 may include a learning device 410, such as a machine - learning device, which includes, in a manner similar to Figure 3 the machine - learning device 310, a first learning device 412, a second learning device 414, a third machine device 416, or a combination thereof. The e - learning system 400 may also include a data block 450, such as a training data block, which includes, in a manner similar to Figure 3 the data block 350, a first data block 452, a second data block 454, a third data block 456, or a combination thereof.

[0098] In one embodiment, the e - learning system 400 may include a model device 470, such as a model server, which includes, in a manner similar to Figure 3 the model device 370, a first model device 472, a second model device 474, or a combination thereof. The machine - learning device 410, the training data block 450, the model device 470, or a combination thereof may be at least partially implemented as hardware such as integrated circuits, integrated circuit cores, integrated circuit components, micro - electro - mechanical systems (MEMS), passive devices, or a combination thereof.

[0099] For example, the device 410 may be implemented using the first control unit 112, the second control unit 134, the first storage control unit 132, the second storage control unit 152, or a combination thereof. The data block 450 may be implemented using the first storage unit 114, the second storage unit 146, or a combination thereof. The model device 470 may be implemented using the first control unit 112, the second control unit 134, the first storage control unit 132, the second storage control unit 152, the first storage unit 114, the second storage unit 146, or a combination thereof. For illustration, the machine - learning device 410, the training data block 450, the model device 470, or a combination thereof are shown as discrete blocks, but it should be understood that, in a manner similar to the e - learning system 200, any block may share portions of the hardware with any other block.

[0100] In one embodiment, the e - learning system 400 may include an obtaining model process 490 for extracting, acquiring, obtaining, accessing, requesting, receiving, or a combination of these for a model or model parameters 476, such as a first model device 472, a second model device 474, a first model device 372, a second model device 374, or a combination of these. The model may be extracted, acquired, obtained, accessed, requested, received, or a combination of these from the model device 470 or the model device 370 by the learning device 410, the learning device 310.

[0101] In one embodiment, the obtaining model process 490, the machine - learning process, the big - data process, any other process, or a combination of these may include a network 494. The network 494 may include multiple networks and may include network transmission 496, network capacity 498, or a combination of these in a manner similar to the communication path 104 Figure 1 The network transmission 496 may transmit the model or model parameters 476. The network capacity 498 may include the amount of network transmission 494 supported by the network 496.

[0102] In one embodiment, the learning system 400 may provide detection, identification, monitoring, measurement, verification, or a combination of these for the network 494, the network transmission 496, the network capacity 498, or a combination of these. The learning system 400 including the learning device 410, the data block 450, the model device 470, or a combination of these may detect or identify problems or bottlenecks in the network capacity 498.

[0103] In one embodiment, the e - learning system 400 may include an obtaining model process 490, a placing model process (not shown) in a manner similar to the placing model process 390 Figure 3 , the machine - learning process, the big - data process, any other process, or a combination of these. These processes may provide combination problems, bottlenecks, or a combination of these for the network 494. Similarly, in one embodiment, Figure 3 the e - learning system 300 may include an obtaining model process 490, a placing model process 390, the machine - learning process, the big - data process, any other process, or a combination of these, and may provide combination problems, bottlenecks, or a combination of these for Figure 3 the network 394.

[0104] For illustration, the e - learning system 400 and the e - learning system 300 are shown as separate systems, but it should be understood that the e - learning system 400, the e - learning system 300, other systems, or a combination of these may be partially or fully combined. For example, the e - learning system 400 and the e - learning system 300 may represent one system with different modes.

[0105] It has been found that the learning system 400 can detect bottlenecks in parallel or distributed machine learning systems. The learning system 400 can at least detect or identify problems with network capacity 498.

[0106] Now refer to Figure 5 , which shows a block diagram of a portion of an electronic learning system 500 of an electronic system 100 in an embodiment of the present invention. In a manner similar to that of Figure 2 's electronic system 200, the electronic learning system 500 can be implemented using Figure 1 's first device 102, Figure 1 's second device 106, integrated circuits, integrated circuit cores, integrated circuit components, microelectromechanical systems (MEMS), passive devices, or combinations thereof.

[0107] In one embodiment, the electronic learning system 500 can provide machine learning. Machine learning can include algorithms capable of learning from data, including enabling a computer to act without being explicitly programmed, automated reasoning, automated adaptation, automated decision-making, automated learning, the ability of a computer to learn without being explicitly programmed, artificial intelligence (AI), or combinations thereof. Machine learning can be considered a class of artificial intelligence (AI). Machine learning can be implemented when it is not feasible to design and program explicit rule-based algorithms.

[0108] In one embodiment, the electronic learning system 500 can provide machine learning including scanning, filtering, prediction, recommendation, machine learning processes, machine learning functions, big data analysis, or combinations thereof. The electronic learning system 500 can also include parallel or distributed machine learning, including cluster computing for parallel processing in system processors and in-memory computing (ISC) processors. The parallel or distributed machine learning for parallel processing can be implemented using at least Figure 1 's first control unit 112, Figure 1 's second control unit 134, Figure 1 's first storage unit 114, Figure 1 's second storage unit 146, Figure 1 's first storage control unit 132, Figure 1 's second storage control unit 152, Figure 1 's first storage medium 126, Figure 1 's second storage medium 142, or combinations thereof.

[0109] In one embodiment, the e - learning system 500 may include a system device 512, a storage device 514, first system data 552 such as training data, first storage data 554 such as training data, or a combination thereof. The e - learning system 500 may also include second system data 562, second storage data 564, where the second system data 562 is, for example, training data, updated system data of the first system data 552, partial data of the first system data 552, intelligent selection data of the first system data 552, intelligent update data of the first system data 552, or a combination thereof, and the second storage data 564 is, for example, training data, intelligent update storage data of the first storage data 554, partial data of the first storage data 554, intelligent selection data of the first storage data 554, or a combination thereof. The e - learning system 500 may provide a model device 370.

[0110] In one embodiment, the e - learning system 500 may include network transmission 596, network capacity 598, or a combination thereof. The learning system 500 may provide detection, identification, monitoring, measurement, verification, or a combination thereof of network transmission 596, network capacity 598, or a combination thereof. The learning system 500 including the system device 512, the storage device 514, the first system data 552, the first storage data 554, the second system data 562, the second storage data 564, the model device 370, or a combination thereof may detect or identify problems or bottlenecks in the network capacity 398.

[0111] It has been found that the learning system 500 can detect bottlenecks in parallel or distributed machine - learning systems. The learning system 500 can at least detect or identify problems in the network capacity 598.

[0112] Now refer Figure 6 , which shows a block diagram of a part of an e - learning system 600 of an electronic system 100 in an embodiment of the present invention. The e - learning system 600 may be implemented using Figure 1 a first device 102 of Figure 1 , a second device 106 of

[0113] integrated circuits, integrated circuit cores, integrated circuit components, micro - electromechanical systems (MEMS), passive devices, or a combination thereof. In one embodiment, the e - learning system 600 may provide machine learning. Machine learning may include algorithms capable of learning from data, including enabling a computer to act without being explicitly programmed, automated reasoning, automated adaptation, automated decision - making, automated learning, the ability of a computer to learn without being explicitly programmed, artificial intelligence (AI), or a combination thereof. Machine learning may be considered a class of artificial intelligence (AI). Machine learning may be implemented when it is not feasible to design and program explicit rule - based algorithms.

[0114] In one embodiment, the e - learning system 600 may provide machine learning including statistical machine learning, such as gradient - descent optimization methods including Stochastic Gradient Descent (SGD). The stochastic gradient method may provide a faster convergence rate, improved step size, running multiple processors in parallel and independently, or a combination of these. The stochastic gradient method may also include the Stochastic Average Gradient algorithm, which provides fast initial convergence of the stochastic method and fast late - stage convergence of the full - gradient method - which maintains the low iteration cost of the stochastic gradient, or a combination of these.

[0115] In one embodiment, the e - learning system 600 may include a selection block 640, which may provide machine - learning processes such as data selection, batch selection, stochastic batch selection, or a combination of these. The selection block 640 may perform receiving, processing, selecting, partitioning, sending, or a combination of these. For example, the selection block 640 may process first data 652 such as training data, second data 656 such as partial data of the first data 652, intelligent update data of the first data 652, intelligent selection data of the first data 652, or a combination of these. Additionally, for example, the selection block 640 may select or partition the second data 656 from the first data 652.

[0116] In one embodiment, the e - learning system 600 may also include a calculation block 660 for calculating a gradient 664, an update block 670 for updating at least one vector 674 of the model, or a combination of these. The update block 670 may also update all of the model including the vector 674. The selection block 640, the calculation block 660, and the update block 670 may be at least partially implemented as hardware such as integrated circuits, integrated - circuit cores, integrated - circuit components, micro - electro - mechanical systems (MEMS), passive devices, or a combination of these.

[0117] In one embodiment, the e - learning system 600 having the selection block 640, the calculation block, the update block 670, or a combination of these may provide machine learning including big - data machine learning, big - data analysis, or a combination of these. The selection block 640, the calculation block, the update block 670, or a combination of these may perform selection, partitioning, or a combination of these on data, processes, functions, or a combination of these. The selection, partitioning, or a combination of these may provide a load transfer to in - storage computing (ISC), such as a load transfer of a machine - learning process or a machine - learning function. The load transfer may provide distribution or partitioning of functions having high computational complexity, high input and output (I / O) overhead, or a combination of these.

[0118] For illustration, selection block 640, calculation block 660, update block 670, or a combination thereof are shown as discrete blocks, but it is understood that any block may share portions of hardware with any other block. For example, selection block 640, calculation block 660, update block 670, or a combination thereof may share portions of hardware memory circuits or components such as first control unit 112, second control unit 134, first storage unit 114, second storage unit 146, or a combination thereof.

[0119] Additionally, for illustration, selection block 640, calculation block 660, update block 670, or a combination thereof are shown as discrete blocks, but it is understood that any number, combination, distribution, segmentation, partitioning, or a combination thereof of blocks may be included. For example, selection block 640, calculation block 660, update block 670, or a combination thereof may each include multiple blocks distributed across multiple devices.

[0120] It has been found that the electronic learning system 600 of the electronic system 100 having selection block 640, calculation block 660, and update block 670, or a combination thereof, may provide load transfer of a machine learning process or machine learning function. Functions having high computational complexity, high input and output (I / O) overhead, or a combination thereof may be at least partially distributed or partitioned to in-storage computing (ISC).

[0121] Now refer to Figure 7 , in which a block diagram of a portion of the electronic learning system 700 of the electronic system 100 in an embodiment of the present invention is shown. The electronic learning system 700 may be implemented using Figure 1 the first device 102, Figure 1 the second device 106, integrated circuits, integrated circuit cores, integrated circuit components, microelectromechanical systems (MEMS), passive devices, or a combination thereof.

[0122] In one embodiment, the electronic learning system 700 may provide machine learning. Machine learning may include algorithms capable of learning from data, including enabling a computer to act without being explicitly programmed, automated reasoning, automated adaptation, automated decision-making, automated learning, the ability of a computer to learn without being explicitly programmed, artificial intelligence (AI), or a combination thereof. Machine learning may be considered a class of artificial intelligence (AI). Machine learning may be implemented when it is not feasible to design and program explicit rule-based algorithms.

[0123] In one embodiment, an e - learning system 700 may provide machine learning, including intelligently selecting or partitioning data such as training data to provide significantly improved partial data for machine learning including parallel or distributed machine learning. The significantly improved partial data may improve the update of a model, a vector, or a combination thereof. The intelligent selection or partitioning may provide faster convergence with increased input and output (I / O).

[0124] For example, in a manner similar to e - learning system 600, e - learning system 700 may provide statistical machine learning, such as statistical machine learning like gradient - descent optimization methods including stochastic gradient descent (SGD). Stochastic gradient methods including the stochastic average gradient algorithm may provide a faster convergence rate, improved step size, multiple processors running in parallel independently, fast initial convergence, fast late - stage convergence of a full - gradient method that maintains a low iteration cost for the stochastic gradient, or a combination thereof.

[0125] In one embodiment, e - learning system 700 may include a scan and selection block 730, which may provide machine - learning processes such as scanning, selecting, or a combination thereof. The scan and selection block 730 may perform receiving, scanning, processing, selecting, partitioning, sending, or a combination thereof. For example, the scan and selection block 730 may intelligently process first data 752 such as raw data, input data for pre - processing training data, second data 754 such as pre - processed data, intelligently selected training data of the first data 752, partial data of the first data 752, intelligently updated data of the first data 752, intelligently selected data of the first data 752, or a combination thereof, including scanning, selecting, partitioning, data selection, batch selection, random batch selection, or a combination thereof. Additionally, for example, the scan block 730 may intelligently select or partition the second data 754 from the first data 752.

[0126] In one embodiment, e - learning system 700 may also include a computation block 760 for computing gradients 764, and an update block 770 for updating at least one vector 774 of a model including vector 774. The update block 770 may also update the entire model. The scan and selection block 730, the computation block 760, and the update block 770 may be at least partially implemented as hardware such as an integrated circuit, an integrated - circuit core, an integrated - circuit component, a micro - electro - mechanical system (MEMS), a passive device, or a combination thereof.

[0127] For example, an e - learning system 700 having a scan and selection block 730, a calculation block, an update block 770, or a combination thereof can provide machine learning including big data machine learning, big data analysis, or a combination thereof. The scan and selection block 730, the calculation block, the update block 770, or a combination thereof can select, partition, or a combination thereof data, processes, functions, or a combination thereof. The selection, partitioning, or a combination thereof can provide a load transfer to in - storage computing (ISC), such as a load transfer of a machine learning process or a machine learning function. The load transfer can provide a distribution or partitioning of functions having high computational complexity, high input and output (I / O) overhead, or a combination thereof.

[0128] For illustration, the scan and selection block 730, the calculation block 760, the update block 770, or a combination thereof are shown as discrete blocks, but it is understood that any block can share portions of hardware with any other block. For example, the scan and selection block 730, the calculation block 760, the update block 770, or a combination thereof can share portions of hardware memory circuits or components such as a first control unit 112, a second control unit 134, a first storage unit 114, a second storage unit 146, or a combination thereof.

[0129] Additionally, for illustration, the scan and selection block 730, the calculation block 760, the update block 770, or a combination thereof are shown as discrete blocks, but it is understood that any number, combination, distribution, segmentation, partitioning, or a combination thereof of blocks can be included. For example, the scan and selection block 730, the calculation block 760, the update block 770, or a combination thereof can each include multiple blocks distributed across multiple devices.

[0130] It has been found that the e - learning system 700 of the electronic system 100 having a scan and selection block 730, a calculation block 760, and an update block 770, or a combination thereof can intelligently provide a load transfer of a machine learning process or a machine learning function, especially a function having increased input and output (I / O). Functions having high computational complexity, high input and output (I / O) overhead, or a combination thereof can be at least partially distributed or partitioned to in - storage computing (ISC).

[0131] Now refer to Figure 8 , in which a block diagram of a portion of an e - learning system 800 of an electronic system 100 in an embodiment of the present invention is shown. The e - learning system 800 can be implemented using Figure 1 a first device 102 of Figure 1 , a second device 106 of

[0132] In one embodiment, the e - learning system 800 may provide machine learning. Machine learning may include algorithms capable of learning from data, including the ability to have a computer act without being explicitly programmed, automated reasoning, automated adaptation, automated decision - making, automated learning, the ability of a computer to learn without being explicitly programmed, artificial intelligence (AI), or a combination of these. Machine learning may be considered a class of artificial intelligence (AI). Machine learning may be implemented when it is not feasible to design and program explicit rule - based algorithms.

[0133] In one embodiment, the e - learning system 800 may provide machine learning including prediction, recommendation, filtering such as spam filtering, machine learning processes, machine learning functions, or a combination of these. In some embodiments, the prediction may include clicking on or selecting an advertisement or advertiser, recommending one or more items, filtering spam, including a liking process, or a combination of these, to provide machine learning for, for example, big data analysis.

[0134] For example, the e - learning system 800 may include parallel or distributed machine learning, which includes cluster computing for parallel processing in system processors and in - storage - computing (ISC) processors. The parallel or distributed machine learning for parallel processing may utilize at least Figure 1 the first control unit 112, Figure 1 the second control unit 134, Figure 1 the first storage unit 114, Figure 1 the second storage unit 146, Figure 1 the first storage control unit 132, Figure 1 the second storage control unit 152, Figure 1 the first storage medium 126, Figure 1 the second storage medium 142, or a combination of these.

[0135] In one embodiment, the e - learning system 800 may include a learning block 810, such as a machine learning block for implementing or executing machine learning algorithms, big data machine learning, big data analysis, or a combination of these. The learning block 810 may be at least partially implemented as hardware such as an integrated circuit, integrated circuit core, integrated circuit component, micro - electro - mechanical system (MEMS), passive device, or a combination of these.

[0136] For example, the learning block 810 may provide machine learning including parallel or distributed processing, cluster computing, or a combination of these. The learning block 810 may be implemented in a system processor, in - storage - computing (ISC) processor, first control unit 112, second control unit 134, first storage control unit 132, second storage control unit 152, first storage unit 114, second storage unit 146, or a combination of these.

[0137] In one embodiment, in a manner similar to the selection block 640 of Figure 6 , the scan and selection block 730 of Figure 7 or a combination thereof, the e-learning system 800 may include a preprocessing block 830, such as a scan and filter block for a machine learning process including scanning, filtering, selecting, partitioning, processing, receiving, transmitting, or a combination thereof. The preprocessing block 830 may intelligently select or partition data, such as training data, to provide significantly improved partial data. The significantly improved partial data may improve the update of a model, a vector, or a combination thereof. The intelligent selection or partitioning may provide faster convergence with increased input and output (I / O). The preprocessing block 830 may be at least partially implemented as hardware such as an integrated circuit, an integrated circuit core, an integrated circuit component, a microelectromechanical system (MEMS), a passive device, or a combination thereof.

[0138] In one embodiment, the preprocessing block 830 may process, scan, filter, select, partition, receive, transmit, or a combination thereof data including a first data block 854 such as training data, a second data block 856, or a combination thereof. The second data block 856 may include intelligently selected data of the first data block 854, intelligently updated data of the first data block 854, partial data of the first data block 854, or a combination thereof. The first data block 854, the second data block 856, or a combination thereof is at least partially implemented in hardware such as an integrated circuit, an integrated circuit core, an integrated circuit component, a microelectromechanical system (MEMS), a passive device, a first storage unit 114, a second storage unit 146, a first storage medium 126, a second storage medium 142, or a combination thereof.

[0139] For example, the preprocessing block 830 may process, scan, filter, select, partition, receive, transmit, or a combination thereof a part or all of the first data block 854 to provide the second data block 856. The first data block 854 may include raw data, training data, initial data, or a combination thereof. The preprocessing block 830 may scan and filter a part or all of the first data block 854 to provide a part or all of the second data block 856, and the second data block 856 may include filtered data, selected data, partitioned data, training data, partial data, partial training data, or a combination thereof.

[0140] In one embodiment, the learning block 810 may process, scan, filter, select, partition, receive, transmit, or a combination of these, on a part or all of the second data block 856, to provide at least a part of the model block 870, which may include model parameters, vectors, an entire model, or a combination of these. The model 870 may be implemented at least in part in hardware such as an integrated circuit, an integrated circuit core, an integrated circuit component, a microelectromechanical system (MEMS), a passive device, a first storage unit 114, a second storage unit 146, a first storage medium 126, a second storage medium 142, or a combination of these.

[0141] In one embodiment, the model block 870 may include a storage device having machine learning data, big data analytics, or a combination of these. The model block 870 may be implemented in a storage device, a memory device, a system processor, an in-storage computing (ISC) processor, a first storage unit 114, a second storage unit 146, a first control unit 112, a second control unit 134, a first storage control unit 132, a second storage control unit 152, or a combination of these.

[0142] For example, the first data block 854 may include a storage device having unprocessed or partially processed data. The first data block 854 may be implemented in a storage device, a memory device, a first storage unit 114, a second storage unit 146, a first storage medium 126, a second storage medium 142, or a combination of these. The second data block 856 may include a storage device having processed data such as unprocessed data of the processed first data block 854. The second data block 856 may be implemented in a storage device, a memory device, a first storage unit 114, a second storage unit 146, a first storage medium 126, a second storage medium 142, or a combination of these.

[0143] For illustration, the learning block 810, the preprocessing block 830, the first data block 854, the second data block 856, the model block 870, or a combination of these are shown as discrete blocks, but it is understood that any block may share parts of the hardware with any other block. For example, the first data block 854, the second data block 856, the model block 870, or a combination of these may share parts of the hardware memory circuits or components such as a first storage unit 114, a second storage unit 146, a first storage medium 126, a second storage medium 142, or a combination of these.

[0144] Additionally, for illustration purposes, the learning block 810, the preprocessing block 830, the model block 870, or combinations thereof are shown as discrete blocks, but it is understood that any number, combination, distribution, partitioning, division, or combination thereof of blocks may be included. For example, the learning block 810, the preprocessing block 830, the model block 870, or combinations thereof may each include multiple blocks distributed across multiple devices.

[0145] It has been found that an electronic learning system 800 having a learning block 810, a preprocessing block 830, a first data block 854, a second data block 856, a model block 870, or combinations thereof may provide machine learning, including parallel or distributed processing, cluster computing, or combinations thereof. The electronic learning system 800 may implement the preprocessing block 830, the model block 870, or combinations thereof in a system processor, in-memory computing (ISC), or combinations thereof.

[0146] Now refer to Figure 9 , which shows a block diagram of a portion of an electronic learning system 900 of an electronic system 100 in an embodiment of the present invention. The electronic learning system 900 may be implemented using Figure 1 a first device 102, Figure 1 a second device 106, an integrated circuit, an integrated circuit core, an integrated circuit component, a microelectromechanical system (MEMS), a passive device, or combinations thereof.

[0147] In one embodiment, the electronic learning system 900 may provide machine learning. Machine learning may include algorithms capable of learning from data, including enabling a computer to act without being explicitly programmed, automated reasoning, automated adaptation, automated decision-making, automated learning, the ability of a computer to learn without being explicitly programmed, artificial intelligence (AI), or combinations thereof. Machine learning may be considered a class of artificial intelligence (AI). Machine learning may be implemented when it is not feasible to design and program explicit rule-based algorithms.

[0148] In one embodiment, the electronic learning system 900 may include parallel or distributed machine learning, which includes cluster computing for parallel processing in a system processor and in-memory computing (ISC) processors. The parallel or distributed machine learning for parallel processing may utilize at least Figure 1 a first control unit 112, Figure 1 a second control unit 134, Figure 1 a first storage unit 114, Figure 1 a second storage unit 146, Figure 1 a first storage control unit 132, Figure 1 a second storage control unit 152, Figure 1 a first storage medium 126, Figure 1implemented by the second storage medium 142 or a combination of these.

[0149] For illustration, the electronic learning system 900 is shown in the context of the learning block 910 being part of the system device 912, but it is to be understood that the storage device 914 may also include other blocks, including learning blocks such as the learning block 910. The system device 912 may also include other blocks.

[0150] In one embodiment, the electronic learning system 900 may include a preprocessing block 930, such as a scanning and filtering block, for scanning, filtering, selecting, partitioning, processing, receiving, transmitting, or a combination of these. The preprocessing block 930 may intelligently select or partition data, such as training data, to provide significantly improved partial data. The significantly improved partial data may improve the update of a model, a vector, or a combination of these. The intelligent selection or partitioning may provide faster convergence with increased input and output (I / O). The preprocessing block 930 may be at least partially implemented as hardware such as an integrated circuit, an integrated circuit core, an integrated circuit component, a microelectromechanical system (MEMS), a passive device, or a combination of these.

[0151] For example, the preprocessing block 930 may process data including a first data block 954, a second data block 956, such as training data, or a combination of these. The second data block 956 may include intelligently selected data of the first data block 954, intelligently updated data of the first data block 954, partial data of the first data block 954, or a combination of these. The preprocessing block 930 may process the data received from the first data block 954 and provide data for the second data block 956. The first data block 954, the second data block 956, or a combination of these is at least partially implemented in hardware such as an integrated circuit, an integrated circuit core, an integrated circuit component, a microelectromechanical system (MEMS), a passive device, a first storage unit 114, a second storage unit 146, a first storage medium 126, a second storage medium 142, or a combination of these.

[0152] In one embodiment, the learning block 910 may process, analyze, predict, recommend, filter, learn, receive, transmit, or a combination of these on the data of the second data block 956. For example, the electronic learning system 900 may provide prediction, recommendation, filtering, a machine learning process, a machine learning function, or a combination of these. In some embodiments, the prediction may be based on, for example, clicking or selecting an advertisement or an advertiser, may recommend one or more items, may filter spam, may include a like process, or a combination of these, to provide, for example, parallel or distributed machine learning for big data analysis.

[0153] It has been found that an e - learning system 900 having a learning block 910, a pre - processing block 930, a first data block 954, a second data block 956, a system device 912, a storage device 914, or a combination thereof can provide machine learning, including parallel or distributed processing, cluster computing, or a combination thereof. The pre - processing block 930, the model block 970, or a combination thereof can be implemented in the system device 912, the storage device 914, or a combination thereof.

[0154] Now refer to Figure 10 , which shows a block diagram of a part of an e - learning system 1000 of an electronic system 100 in an embodiment of the present invention. The e - learning system 1000 can be implemented using Figure 1 a first device 102 of Figure 1 a second device 106 of, integrated circuits, integrated circuit cores, integrated circuit components, micro - electro - mechanical systems (MEMS), passive devices, or a combination thereof. For example, pre - processing can be performed by a storage device or a system device such as a system control unit or a central processing unit (CPU) based on the electronic system 100 analyzing a situation or condition as further described below to determine an allocation or assignment.

[0155] In one embodiment, the e - learning system 1000 can provide machine learning. Machine learning can include algorithms capable of learning from data, including enabling a computer to act without being explicitly programmed, automated reasoning, automated adaptation, automated decision - making, automated learning, the ability of a computer to learn without being explicitly programmed, artificial intelligence (AI), or a combination thereof. Machine learning can be considered a class of artificial intelligence (AI). Machine learning can be implemented when it is not feasible to design and program explicit rule - based algorithms.

[0156] In one embodiment, the e - learning system 1000 can provide machine learning including prediction, recommendation, filtering, machine learning processes, machine learning functions, or a combination thereof. In some embodiments, prediction can be based on, for example, clicking on or selecting an advertisement or an advertiser, can recommend one or more items, can filter spam, can include a like process, or a combination thereof, to provide, for example, parallel or distributed machine learning for big data analysis.

[0157] For example, the e - learning system 1000 can include parallel or distributed machine learning, which includes cluster computing, for parallel processing in system processors and in - storage computing (ISC) processors. The parallel or distributed machine learning for parallel processing can at least utilize Figure 1 a first control unit 112 of Figure 1 a second control unit 134 of Figure 1 a first storage unit 114 of Figure 1 a second storage unit 146 ofFigure 1 the first storage control unit 132 of Figure 1 the second storage control unit 152 of Figure 1 the first storage medium 126 of Figure 1 the second storage medium 142 of or a combination thereof.

[0158] In one embodiment, the e - learning system 1000 may include a system device 1012, a storage device 1014, an interface 1016, or a combination thereof. The system device 1012 and the storage device 1014 may communicate with each other through the interface 1016 or communicate within each device. The system device 1012, the storage device 1014, and the interface 1016 may be at least partially implemented as hardware such as integrated circuits, integrated circuit cores, integrated circuit components, micro - electro - mechanical systems (MEMS), wirings, traces, passive devices, or a combination thereof.

[0159] In one embodiment, the e - learning system 1000 may include a learning block 1020, such as a machine - learning block for implementing or executing machine - learning algorithms, big - data machine learning, big - data analysis, or a combination thereof. The e - learning system 1000 may include a storage learning block 1024, a system learning block 1028, or a combination thereof. The storage learning block 1024, the system learning block 1028, or a combination thereof may be at least partially implemented as hardware such as integrated circuits, integrated circuit cores, integrated circuit components, micro - electro - mechanical systems (MEMS), passive devices, or a combination thereof.

[0160] For example, the storage learning block 1024, the system learning block 1028, or a combination thereof may provide machine learning, including parallel or distributed processing, cluster computing, or a combination thereof. The storage learning block 1024, the system learning block 1028, or a combination thereof may be implemented in a system processor, a storage - in - computing (ISC) processor, a first control unit 112, a second control unit 134, a first storage control unit 132, a second storage control unit 152, a first storage unit 114, a second storage unit 146, or a combination thereof.

[0161] In one embodiment, the e - learning system 1000 may include a pre - processing block 1030, such as a scanning and filtering block, for scanning, filtering, selecting, partitioning, processing, receiving, sending, or a combination thereof. The pre - processing block 1030 may intelligently select or partition data, such as training data, to provide significantly improved partial data. The significantly improved partial data may improve the update of a model, a vector, or a combination thereof. The intelligent selection or partitioning may provide faster convergence with increased input and output (I / O). The pre - processing block 1030 may be at least partially implemented as hardware such as integrated circuits, integrated circuit cores, integrated circuit components, micro - electro - mechanical systems (MEMS), passive devices, or a combination thereof.

[0162] In one embodiment, the preprocessing block 1030 can also be implemented by the storage control unit 1032. The storage control unit 1032 can be a processor, an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof in a manner similar to the first storage control unit 132 or the second storage control unit 152. Similarly, the system control unit 1034 can also be a processor, an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), a field programmable gate array (FPGA), or a combination thereof in a manner similar to the second control unit 134 or the first control unit 112.

[0163] In one embodiment, the preprocessing block 1030 of the storage device 1014 can transfer the load of functions 1040 such as scanning, filtering, learning, or a combination thereof from the system control unit 1034 to the storage control unit 1032. Similarly, the host can transfer the load of functions 1040 to the storage control unit 1032. The functions 1040 can include machine learning, big data processing, analyzing big data, big data analysis, or a combination thereof. The functions 1040, the system device 1012, the storage device 1014, or a combination thereof can provide a scheduling algorithm for distributed machine learning of a storage device 1014 such as an intelligent solid state drive (SSD).

[0164] In one embodiment, the e-learning system 1000 can include or define functions 1040, which include machine learning components or functions with load transferability. The machine learning components or functions with load transferability can include a main machine learning algorithm, filtering, scanning, any machine learning, or a combination thereof. The e-learning system 1000 can also perform splitting, partitioning, selection, or a combination thereof on the machine learning components or functions with load transferability. The machine learning components or functions with load transferability can be split, partitioned, selected, or a combination thereof for one or more iterations of machine learning. The e-learning system 1000 can provide monitoring for dynamic scheduling.

[0165] For illustration, the e-learning system 1000 is shown with the preprocessing block 1030 within the storage device 1014, but it should be understood that the system device 1012 can also include functions or blocks for scanning, filtering, the preprocessing block 1030, or a combination thereof. The storage device 1014, the system device 1012, or a combination thereof can also include any number or type of blocks.

[0166] For example, the preprocessing block 1030 may process data, such as training data, selected data, or a combination thereof, including the first data block 1052, the second data block 1054, the third data block 1056, or a combination thereof. The preprocessing block 1030 may process, select, partition, or a combination thereof, data such as a training data block received from the first data block 1052 and provide data for the second data block 1054, the third data block 1056, or a combination thereof. The second data block 1054, the third data block 1056, or a combination thereof may include an intelligent selection data block of the first data block 1052, an intelligent update data block of the first data block 1052, a partial data block of the first data block 1052, or a combination thereof.

[0167] In one embodiment, the first data block 1052, the second data block 1054, the third data block 1056, or a combination thereof may provide selected data for machine learning. The first data block 1052, the second data block 1054, the third data block 1056, or a combination thereof may be implemented at least in part in hardware such as an integrated circuit, an integrated circuit core, an integrated circuit component, a microelectromechanical system (MEMS), a passive device, a first storage unit 114, a second storage unit 146, a first storage medium 126, a second storage medium 142, or a combination thereof.

[0168] In one embodiment, the storage learning block 1024 may process, analyze, predict, recommend, filter, learn, receive, transmit, or a combination thereof, the data of the third data block 1056. For example, the e-learning system 1000 may provide prediction, recommendation, filtering, a machine learning process, a machine learning function, or a combination thereof. In some embodiments, the prediction may be based on, for example, clicking or selecting an advertisement or an advertiser, may recommend one or more items, may filter spam, may include a like process, or a combination thereof, to provide, for example, parallel or distributed machine learning for big data analysis.

[0169] In one embodiment, the system device 1012 of the e-learning system 1000 may include a programming interface 1082, which may include an application programming interface (API) for machine learning including machine learning processes outside the system device 1012. For example, the programming interface 1082 may include programming languages, C, C++, scripting languages, Perl, Python, or combinations thereof. The programming interface 1082 may be applied to data including big data for all machine learning processes or algorithms, including processing, scanning, filtering, analyzing, compressing, Karush-Kuhn-Tucker (KKT) filtering, Karush-Kuhn-Tucker (KKT) vector error filtering, random filtering, prediction, recommendation, learning, or combinations thereof.

[0170] In one embodiment, the system device 1012, the storage device 1014, or combinations thereof may identify problems including bottlenecks, resource saturation, stress, resource constraints, or combinations thereof. For example, the interface 1016 may include saturated input and output (I / O), which may provide reduced I / O for the e-learning system 1000. The system device 1012, the storage device 1014, or combinations thereof may identify the saturated input and output (I / O) of the interface 1016 and intelligently load shift, throttle, parallelize, distribute, or combinations thereof of the processing including the function 1040 to the storage control unit 1032, the system control unit 1034, or combinations thereof.

[0171] In one embodiment, the system device 1012, the storage device 1014, or combinations thereof with intelligent load shifting, throttling, parallelizing, distributing, or combinations thereof may mitigate problems including bottlenecks, resource saturation, stress, resource constraints, or combinations thereof. Mitigating the problems may provide a much higher throughput for the e-learning system 1000, the electronic system 100, or combinations thereof.

[0172] For example, the programming interface 1082 may include a "LEARN" command. The "LEARN" command may include information containing metadata for executing the programming interface 1082 using the function 1040 for parallel or distributed processing. The system device 1012, the storage device 1014, or combinations thereof may include a scheduler block 1084, and the scheduler block 1084 may include a high-level programming language for implementing the function 1040, a scheduling algorithm, an assignment function, an assignment of data, or combinations thereof.

[0173] In one embodiment, the scheduler block 1084 may include a self-organizing per-node scheduler and access control units of storage devices 1014 such as a first storage control unit 132, a second storage control unit 152, or a combination thereof, so as to perform selection, partitioning, segmentation, or a combination thereof on machine learning by using control units of system devices 1012 such as a first control unit 112, a second control unit 134, or a combination thereof. The e-learning system 1000 may provide an SSD-runnable binary file to the preprocessing block 1030 to perform load transfer on scanning and filtering, a main iteration algorithm, or a combination thereof based on an I / O bottleneck such as saturated I / O to relieve stress.

[0174] For example, the preprocessing block 1030 may filter additional data including the first data 1052 based on determining a bottleneck such as an I / O bottleneck, saturated I / O, or a combination thereof. The preprocessing block 1030 may filter less data including the first data 1052 based on determining that there is additional bandwidth including the bandwidth in the interface 1016. If another I / O bottleneck is detected after load transfer on scanning and filtering, the e-learning system 1000 having the scheduler block 1084 may determine to perform load transfer on at least a part of the main iteration algorithm. Data may be retrieved by the system devices 1012, the storage devices 1014, or a combination thereof in a random, regular, or a combination of these manners to determine an I / O bottleneck.

[0175] In one embodiment, the programming interface 1082, the scheduler block 1084, or a combination thereof may also include system calls such as new system calls, extended system calls, or a combination thereof, for implementing the programming interface 1082, the function 1040, or a combination thereof. The programming interface 1082, the function 1040, or a combination thereof may be implemented based on the system information 1086. Additionally, the preprocessing block 1030 may perform intelligent selection, partitioning, filtering, or a combination thereof on the first data 1052 based on the system information 1086.

[0176] In one embodiment, the system information 1086 may include system utilization, system bandwidth, system parameters, input and output (I / O) utilization, memory utilization, memory access, storage device utilization, storage device access, control unit utilization, control unit access, central processing unit (CPU) utilization, CPU access, memory processor utilization, memory processor access, or a combination thereof. The system information 1086 may be at least partially implemented as hardware such as an integrated circuit, an integrated circuit core, an integrated circuit component, a microelectromechanical system (MEMS), a passive device, a first storage medium 126, a second storage medium 142, or a combination thereof.

[0177] In one embodiment, the programming interface 1082, the function 1040, the scheduler block 1084, or a combination thereof may also communicate with the service interface 1088, which may include a web service interface. For example, the service interface 1088 may provide communication with services external to the e-learning system 1000, the electronic system 100, or a combination thereof. The service interface 1088 may communicate with an architecture for building client-server applications such as representational state transfer (REST), protocol specifications for exchanging data such as simple object access protocol (SOAP), services external to the electronic system 100, protocols external to the electronic system 100, architectures external to the electronic system 100, or a combination of these architectures.

[0178] In one embodiment, the storage device 1014 may include flash memory, a solid-state drive (SSD), phase-change memory (PCM), spin-transfer torque random access memory (STT-RAM), resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), any storage device, any memory device, or a combination thereof. The storage device 1014 and the system device 1012 may be connected to the interface 1016, which includes a memory bus, a serial attached small computer system interface (SAS), a serial attached advanced technology attachment (SATA), a non-volatile memory express (NVMe), a fiber channel, Ethernet, a remote direct memory access (RDMA), any interface, or a combination thereof.

[0179] For illustration, the e - learning system 1000 is shown with one of each component, but it is understood that any number of components may be included. For example, the e - learning system 1000 may include more than one storage device 1014, a first data block 1052, a second data block 1054, a third data block 1056, any component, or a combination of these. Prediction, recommendation, filtering, machine - learning processes, machine - learning functions, or a combination of these may provide machine learning for, e.g., big - data analysis. Similarly, the system learning block 1028, the storage learning block 1024, or a combination of these may process, analyze, predict, recommend, filter, learn, receive, transmit, or a combination of these on the data of the second data block 1054 for prediction, recommendation, filtering, machine - learning processes, machine - learning functions, or a combination of these.

[0180] It has been found that the e - learning system 1000 of the electronic system 100 with the system device 1012 and the storage device 1014 can identify and mitigate problems by using intelligent processing load transfer, chocking, parallelization, distribution, or a combination of these. Intelligent processing load transfer, chocking, parallelization, distribution, or a combination of these can significantly improve performance by using the higher bandwidth in the storage device 1014 for the function 1040, at least by avoiding interface 1016 bottlenecks, resource saturation, stress, or a combination of these.

[0181] Now refer to Figure 11 , in which a block diagram of a part of the e - learning system 1100 of the electronic system 100 in an embodiment of the present invention is shown. The e - learning system 1100 can be implemented by Figure 1 the first device 102 of Figure 1 the second device 106, integrated circuits, integrated - circuit cores, integrated - circuit components, micro - electromechanical systems (MEMS), passive devices, or a combination of these.

[0182] In one embodiment, the e - learning system 1100 may provide machine learning. Machine learning may include algorithms capable of learning from data, including enabling a computer to act without being explicitly programmed, automated reasoning, automated adaptation, automated decision - making, automated learning, the ability of a computer to learn without being explicitly programmed, artificial intelligence (AI), or a combination of these. Machine learning may be considered a class of artificial intelligence (AI). Machine learning can be achieved when it is not feasible to design and program explicit rule - based algorithms.

[0183] In one embodiment, the e - learning system 1100 provides machine learning including prediction, recommendation, filtering, machine - learning processes, machine - learning functions, or combinations thereof. In some embodiments, the prediction, for example, can be based on clicking or selecting an advertisement or an advertiser, can recommend one or more items, can filter spam, can include a like process, or combinations thereof, to provide parallel or distributed machine learning for, for example, big - data analysis.

[0184] For example, the e - learning system 1100 can include parallel or distributed machine learning, which includes cluster computing for parallel processing in system processors and in - storage - computing (ISC) processors. The parallel or distributed machine learning for parallel processing can at least utilize Figure 1 a first control unit 112 of Figure 1 a second control unit 134 of Figure 1 a first storage unit 114 of Figure 1 a second storage unit 146 of Figure 1 a first storage control unit 132 of Figure 1 a second storage control unit 152 of Figure 1 a first storage medium 126 of Figure 1 a second storage medium 142 of, or combinations thereof.

[0185] In one embodiment, the e - learning system 1100 can include system devices 1112, storage devices 1114, interfaces 1116, or combinations thereof. The system devices 1112 and the storage devices 1114 can communicate with each other through the interface 1116 or communicate within each device. The system devices 1112, the storage devices 1114, and the interfaces 1116 can be at least partially implemented as hardware such as integrated circuits, integrated - circuit cores, integrated - circuit components, micro - electro - mechanical systems (MEMS), wiring, traces, passive devices, or combinations thereof.

[0186] In one embodiment, the e - learning system 1100 can include a learning block 1120, such as a machine - learning block for implementing or executing machine - learning algorithms, big - data machine learning, big - data analysis, or combinations thereof. The e - learning system 1100 can include a storage learning block 1124, a system learning block 1128, or combinations thereof. The storage learning block 1124, the system learning block 1128, or combinations thereof can be at least partially implemented as hardware such as integrated circuits, integrated - circuit cores, integrated - circuit components, micro - electro - mechanical systems (MEMS), passive devices, or combinations thereof.

[0187] For example, the storage learning block 1124, the system learning block 1128, or a combination thereof may provide machine learning, including parallel or distributed processing, cluster computing, or a combination thereof. The storage learning block 1124, the system learning block 1128, or a combination thereof may be implemented in a system processor, an in-storage computing (ISC) processor, a first control unit 112, a second control unit 134, a first storage control unit 132, a second storage control unit 152, a first storage unit 114, a second storage unit 146, or a combination thereof.

[0188] In one embodiment, the e-learning system 1100 may include an adaptive block 1130, such as an adaptive preprocessing block, which may include blocks for scanning, filtering, selecting, partitioning, processing, receiving, transmitting, or a combination thereof. The adaptive block 1130, such as a scanning and filtering block, may be at least partially implemented as hardware such as an integrated circuit, an integrated circuit core, an integrated circuit component, a microelectromechanical system (MEMS), a passive device, or a combination thereof. For example, the adaptive block 1130, as an adaptive preprocessing block, may perform intelligent selection or partitioning of data such as training data based on monitoring of dynamic system behavior to provide significantly improved partial data, which may improve the update of a model, a vector, or a combination thereof, and may provide faster convergence with increased input and output (I / O).

[0189] In one embodiment, the adaptive block 1130 may also be implemented with a storage control unit 1132. The storage control unit 1132 may be a processor, an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), a field programmable gate array (FPGA), or a combination thereof in a manner similar to the first storage control unit 132 or the second storage control unit 152. Similarly, the system control unit 1134 may be a processor, an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), a field programmable gate array (FPGA), or a combination thereof in a manner similar to the second control unit 134 or the first control unit 112.

[0190] In one embodiment, the adaptive block 1130 may include a selection block 1140, and the selection block 1140 may calculate an adaptive selection ratio, an adaptive learning ratio, Figure 7 the gradient 764 of, or a combination thereof. The adaptive block 1130 of the storage device 1114 may perform operations such as scanning, filtering, selecting, partitioning, processing, receiving, transmitting, learning, or a combination thereof, including Figure 10Functions including function 1040 are transferred from the system control unit 1134 to the storage control unit 1132, transferred from the storage control unit 1132 to the system control unit 1134, or a combination of these. The functions may include machine learning, big data processing, analyzing big data, big data analysis, or a combination of these. For example, the adaptive block 1130 may determine system resource utilization and storage bandwidth for functions such as scanning and selection using an adaptive selection ratio, and determine system resource utilization and storage bandwidth for functions such as machine learning using an adaptive learning ratio. Based on the adaptive selection ratio, learning ratio, or a combination of these, the adaptive block 1130 may control host computing and storage computing using a load transfer ratio.

[0191] In one embodiment, the adaptive block 1130, system device 1112, storage device 1114, or a combination of these may provide scheduling for distributing machine learning using the system device 1112, storage device 1114, or a combination of these. One or more of the storage devices 1114, such as intelligent solid state storage devices (SSDs), may provide load transfer machine learning, distributed machine learning, partitioned machine learning, or a combination of these.

[0192] In one embodiment, the e-learning system 1100 may include or define functions including load transferable machine learning components or functions. The load transferable machine learning components or load transferable machine learning processes or machine learning functions may include a main machine learning algorithm, filtering, scanning, preprocessing functions, any machine learning, or a combination of these. The e-learning system 1100 may also perform splitting, partitioning, selection, load transfer, or a combination of these on the load transferable machine learning components or functions. The load transferable machine learning components or functions may be split, partitioned, selected, or a combination of these for one or more iterations of machine learning. The e-learning system 1100 may provide monitoring for dynamic scheduling.

[0193] For illustration, the adaptive block 1130 using the storage device 1114 is shown for the e-learning system 1100, but it is understood that the system device 1112 may also include an adaptive block 1130, a selection block such as the selection block 1140, functions, a block for scanning, a block for filtering, or a combination of these. The storage device 1114, system device 1112, or a combination of these may also include any number or type of blocks.

[0194] In one embodiment, the adaptive block 1130 can process, select, partition, or combine data such as training data, selected data, or a combination thereof, including the first data block 1152, the second data block 1154, the third data block 1156, or a combination of these. The adaptive block 1130 can process data such as a training data block received from the first data block 1152, and provide data such as a selected system data block for the second data block 1154, data such as a selected storage data block for the third data block 1156, or a combination of these. The second data block 1154, the third data block 1156, or a combination of these can include an intelligent selection data block of the first data block 1152, an intelligent update data block of the first data block 1152, a partial data block of the first data block 1152, or a combination of these.

[0195] The first data block 1152, the second data block 1154, the third data block 1156, or a combination of these can provide selected data for parallel or distributed machine learning. The first data block 1152, the second data block 1154, the third data block 1156, or a combination of these can be implemented at least in part in hardware such as an integrated circuit, an integrated circuit core, an integrated circuit component, a microelectromechanical system (MEMS), a passive device, the first storage unit 114, the second storage unit 146, the first storage medium 126, the second storage medium 142, or a combination of these.

[0196] In one embodiment, the storage learning block 1124 can process, analyze, predict, recommend, filter, learn, receive, transmit, or combine these operations on the data of the third data block 1156. For example, the e-learning system 1100 can provide predictions, recommendations, filtering, machine learning processes, machine learning functions, or a combination of these based on clicking or selecting an advertisement or an advertiser, recommending one or more items, filtering spam, or a combination of these. In some embodiments, the prediction can be based on clicking or selecting an advertisement or an advertiser, can recommend one or more items, can filter spam, can include a like process, or a combination of these, to provide parallel or distributed machine learning for, for example, big data analysis. Similarly, the system learning block 1128 can process, analyze, predict, recommend, filter, learn, receive, transmit, or combine these operations on the data of the second data block 1154 for predictions, recommendations, filtering, machine learning processes, machine learning functions, or a combination of these.

[0197] In one embodiment, the system device 1112 of the e-learning system 1100 can include a programming interface, such as Figure 10A programming interface 1082 for parallel or distributed machine learning, including machine learning processes outside the system device 1112. Commands can be applied to data including big data for all machine learning processes or algorithms, including processing, scanning, filtering, analyzing, compressing, Karush-Kuhn-Tucker (KKT) filtering, Karush-Kuhn-Tucker (KKT) vector error filtering, random filtering, prediction, recommendation, learning, or combinations thereof.

[0198] In one embodiment, the system device 1112, the storage device 1114, or a combination thereof can identify problems including bottlenecks, resource saturation, stress, limited resources, or combinations thereof. For example, the interface 1116 can include saturated input and output (I / O), which can provide reduced I / O for the e-learning system 1100. The system device 1112, the storage device 1114, or a combination thereof can identify the saturated input and output (I / O) of the interface 1116 and intelligently load shift, choke, parallelize, distribute, or combinations thereof functions including, for example Figure 10 functions such as the function 1040 onto the storage control unit 1132, the system control unit 1134, or a combination thereof.

[0199] In one embodiment, the adaptive block 1130, the system device 1112, the storage device 1114, or a combination thereof with intelligent load shifting, choking, parallelizing, distributing, or combinations thereof can mitigate problems including bottlenecks, resource saturation, stress, limited resources, or combinations thereof. Mitigating the problems can provide a much higher throughput for the e-learning system 1100, the electronic system 110, or combinations thereof.

[0200] In one embodiment, the system device 1112, the storage device 1114, or a combination thereof can include a scheduler block 1184. The scheduler block 1184 can include a high-level programming language for implementing functions, scheduling algorithms, assigning functions, assigning data, or combinations thereof. The scheduler block 1184 can include a self-organizing per-node scheduler and access control units of the storage device 1114 such as the first storage control unit 132, the second storage control unit 152, or a combination thereof, in order to select, partition, segment, or combinations thereof for parallel or distributed machine learning using control units of the system device 1112 such as the first control unit 112, the second control unit 134, or a combination thereof. The e-learning system 1100 can provide an SSD-runnable binary file for the adaptive block 1130 to load shift scanning and filtering, the main iteration algorithm, or combinations thereof based on I / O bottlenecks such as saturated I / O to mitigate stress.

[0201] For example, the adaptive block 1130 can filter additional data including the first data 1152 based on determining bottlenecks such as I / O bottlenecks, saturated I / O, or a combination of these. The adaptive block 1130 can filter less data including the first data 1152 based on determining additional bandwidth including the bandwidth in the interface 1116. If another I / O bottleneck is detected after load shifting the scanning and filtering, the e-learning system 1100 with the scheduler block 1184 can determine to load shift at least a portion of the main iteration algorithm. Data can be retrieved by the system device 1112, the storage device 1114, or a combination of these in a random, periodic, or a combination of these manners to determine the I / O bottleneck.

[0202] In one embodiment, in a manner similar to the e-learning system 1000, the system device 1112, the storage device 1114, or a combination of these may also include a programming interface, such as Figure 10 the scheduler block 1084, which may include a high-level programming language for implementing commands, functions, scheduling algorithms, assignment functions, assignment data, or a combination of these.

[0203] In one embodiment, the commands, programming interfaces, or a combination of these may include system calls such as new system calls, extended system calls, system states, system states of input and output bandwidth, system states of computing utilization, system states of chokes, or a combination of these for implementing commands, functions, or a combination of these. The commands, programming interfaces, or a combination of these may be based on the system information 1186. Additionally, the adaptive block 1130 can perform intelligent selection, partitioning, or a combination of these on the first data 1152 based on the system information 1186.

[0204] In one embodiment, the system information 1186 may include system utilization, system bandwidth, system parameters, input and output (I / O) utilization, memory utilization, memory access, storage device utilization, storage device access, control unit utilization, control unit access, central processing unit (CPU) utilization, CPU access, memory processor utilization, memory processor access, or a combination of these. The system information 1186 can be at least partially implemented as hardware such as integrated circuits, integrated circuit cores, integrated circuit components, microelectromechanical systems (MEMS), passive devices, the first storage medium 126, the second storage medium 142, or a combination of these.

[0205] In one embodiment, the system device 1112, the storage device 1114, or a combination of these may also communicate with a service interface, such as Figure 10The service interface 1088, which may include a web service interface. The service interface may provide communication with services external to the e-learning system 1100, the electronic system 110, or a combination thereof.

[0206] In one embodiment, the storage device 1114 may include flash memory, a solid state drive (SSD), phase change memory (PCM), spin transfer torque random access memory (STT-RAM), resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), any storage device, any memory device, or a combination thereof. The storage device 1114 and the system device 1112 may be connected to an interface 1116, which includes a memory bus, a serial attached small computer system interface (SAS), a serial attached advanced technology attachment (SATA), a high-speed non-volatile memory (NVMe), Fibre Channel, Ethernet, remote direct memory access (RDMA), any interface, or a combination thereof.

[0207] For illustration, the e-learning system 1100 is shown with one of each component, but it is understood that any number of components may be included. For example, the e-learning system 1100 may include more than one storage device 1114, a first data block 1152, a second data block 1154, a third data block 1156, any component, or a combination thereof.

[0208] It has been found that an e-learning system 1100 having an adaptive block 1130, a storage learning block 1124, a system learning block 1128, or a combination thereof may utilize intelligent processing load transfer, chokepointing, parallelization, distribution, or a combination thereof to identify and mitigate problems. Intelligent processing load transfer, chokepointing, parallelization, distribution, or a combination thereof may significantly improve performance by at least avoiding bottlenecks, resource saturation, stress, or a combination thereof at the interface 1116 and by utilizing higher bandwidth in the system device 1112, the storage device 1114, or a combination thereof.

[0209] Now refer to Figure 12 , which shows a block diagram of a portion of an e-learning system 1200 of an electronic system 100 in an embodiment of the present invention. The e-learning system 1200 may be implemented using Figure 1 a first device 102 of Figure 1 a second device 106 of

[0210] In one embodiment, the e-learning system 1200 may control, place, or a combination thereof for machine learning algorithms and may be included in Figure 11 the adaptive block 1130 of Figure 10In the preprocessing block 1030. Machine learning can include algorithms capable of learning from data, including enabling a computer to act without being explicitly programmed, automated reasoning, automated adaptation, automated decision-making, automated learning, the ability of a computer to learn without being explicitly programmed, artificial intelligence (AI), or a combination of these. Machine learning can be considered a type of artificial intelligence (AI). Machine learning can be implemented when it is not feasible to design and program explicit rule-based algorithms.

[0211] In one embodiment, the e-learning system 1200 can include parallel or distributed machine learning, including cluster computing for parallel processing in system processors and in-memory computing (ISC) processors. The parallel or distributed machine learning for parallel processing can utilize at least Figure 1 a first control unit 112 of Figure 1 a second control unit 134 of Figure 1 a first storage unit 114 of Figure 1 a second storage unit 146 of Figure 1 a first storage control unit 132 of Figure 1 a second storage control unit 152 of Figure 1 a first storage medium 126 of Figure 1 a second storage medium 142 of

[0212] In one embodiment, the e-learning system 1200 can include an adaptive process for parallel or distributed machine learning such as scanning, filtering, prediction, recommendation, machine learning processes, machine learning functions, big data analysis, or a combination of these. The adaptive process can include control parameters, selection ratios, learning ratios, host computing to storage computing ratios, or a combination of these for parallel or distributed machine learning and hardware control including the system, in-memory computing (ISC), solid state storage devices (SSDs), or a combination of these.

[0213] For example, the e-learning system 1200 can intelligently select or partition data, such as training data, to provide significantly improved partial data. The significantly improved partial data can improve the update of models, vectors, or a combination of these. The intelligent selection or partitioning can provide faster convergence with increased input and output (I / O).

[0214] In one embodiment, the e - learning system 1200 may include learning blocks 1220 such as machine - learning blocks, adaptive blocks 1230 such as adaptive - mechanism blocks, load blocks 1250 such as load - transfer blocks, in - memory computing (ISC), or combinations thereof. The learning blocks 1220, adaptive blocks 1230, load blocks 1250, or combinations thereof may be at least partially implemented as hardware such as integrated circuits, integrated - circuit cores, integrated - circuit components, micro - electromechanical systems (MEMS), passive devices, or combinations thereof. For example, the learning blocks 1220 may provide learning rates that may be input into machine - learning algorithms, machine - learning blocks, Figure 11 the learning block 1120 of Figure 10 the learning block 1020 of Figure 9 the learning block 910 of Figure 8 the learning block 810 of Figure 2 the learning block 210 of, or combinations thereof.

[0215] In one embodiment, the adaptive block 1230 may process, calculate, determine, or combinations thereof, on adaptive selection parameters 1252, adaptive learning parameters 1254, adaptive load parameters 1256, or combinations thereof. The adaptive selection parameters 1252, adaptive learning parameters 1254, adaptive load parameters 1256, or combinations thereof may be at least partially implemented in hardware such as integrated circuits, integrated - circuit cores, integrated - circuit components, micro - electromechanical systems (MEMS), passive devices, or combinations thereof. For example, the adaptive block 1230, as an adaptive pre - processing block, may intelligently process, calculate, determine, or combinations thereof, on parameters for partitioning data based on dynamic system behavior monitoring.

[0216] For example, the learning blocks 1220, adaptive blocks 1230, load blocks 1250, or combinations thereof may be at least partially implemented using a first control unit 112, a second control unit 134, a first storage control unit 132, a second storage control unit 152, or combinations thereof. The adaptive selection parameters 1252, adaptive learning parameters 1254, adaptive load parameters 1256, or combinations thereof may be at least partially implemented using a first storage unit 114, a second storage unit 146, a first storage medium 126, a second storage medium 142, or combinations thereof.

[0217] In one embodiment, the adaptive block 1230 may process software control parameters including the adaptive selection parameter 1252, the adaptive learning parameter 1254, or a combination thereof, for a parallel or distributed machine learning process of a machine learning algorithm including the learning block 1220, the preprocessing block 1240, or a combination thereof. Software control such as the adaptive selection parameter 1252, the adaptive learning parameter 1254, or a combination thereof may include control parameters of a machine learning algorithm, a selection ratio, a learning ratio, or a combination thereof. For example, the preprocessing block 1240 may provide preprocessing functions such as scanning, selection, any machine learning process, any machine learning function, or a combination thereof, and may be based on the selection ratio.

[0218] In one embodiment, the adaptive block 1230 may process hardware control parameters including the adaptive load parameter 1256 for a load transfer process of the load block 1250, and the load transfer process may include load transfer of machine learning for in-storage computing (ISC), intelligent solid-state storage device (SSD), or a combination thereof using parallel processing. Hardware control such as the adaptive load parameter 1256 may control the ratio of host computing to storage computing, the load transfer ratio, or a combination thereof.

[0219] In one embodiment, the adaptive selection parameter 1252, the adaptive learning parameter 1254, the adaptive load parameter 1256, or a combination thereof may respectively include a selection ratio, a learning ratio, and a load ratio calculated by the adaptive block 1230 based on the system information 1280, where the system information 1280 includes system utilization, system bandwidth, system parameters, input and output (I / O) utilization, memory utilization, memory access, storage device utilization, storage device access, control unit utilization, control unit access, central processing unit (CPU) utilization, CPU access, storage processor utilization, storage processor access, or a combination thereof. The system information 1280 may be implemented in hardware such as an integrated circuit, an integrated circuit core, an integrated circuit component, a microelectromechanical system (MEMS), a passive device, the first storage unit 114, the second storage unit 146, the first storage medium 126, the second storage medium 142, or a combination thereof.

[0220] For illustration, the e-learning system 1200 is shown with one of each of the adaptive block 1230, the adaptive selection parameter 1252, the adaptive learning parameter 1254, the adaptive load parameter 1256, or a combination thereof, but it is to be understood that the e-learning system 1200 may include any number of blocks, such as the adaptive block 1230, the adaptive selection parameter 1252, the adaptive learning parameter 1254, the adaptive load parameter 1256, or a combination thereof.

[0221] It has been found that an e - learning system 1200 with system information 1280 provides parallel or distributed machine learning, including cluster computing, for parallel processing in a system processor and in - storage computing (ISC) processors based on an adaptive block 1230 including an adaptive selection parameter 1252, an adaptive learning parameter 1254, an adaptive load parameter 1256, or a combination thereof, to achieve faster convergence with increased input and output (I / O). The adaptive block 1230 can intelligently select or partition data, such as training data, using the system information 1280 to provide significantly improved partial data.

[0222] Now refer to Figure 13 , which shows a block diagram of a portion of an e - learning system 1300 of an electronic system 100 in an embodiment of the present invention. The e - learning system 1300 can be implemented using Figure 1 a first device 102 of Figure 1 a second device 106 of , an integrated circuit, an integrated circuit core, an integrated circuit component, a micro - electromechanical system (MEMS), a passive device, or a combination thereof.

[0223] In one embodiment, the e - learning system 1300 can provide machine learning. Machine learning can include algorithms capable of learning from data, including enabling a computer to act without being explicitly programmed, automated reasoning, automated adaptation, automated decision - making, automated learning, the ability of a computer to learn without being explicitly programmed, artificial intelligence (AI), or a combination thereof. Machine learning can be considered a class of artificial intelligence (AI). Machine learning can be implemented when it is not feasible to design and program explicit rule - based algorithms.

[0224] In one embodiment, the e - learning system 1300 can include parallel or distributed machine learning, which includes cluster computing, for parallel processing in a system processor and in - storage computing (ISC) processors. The parallel or distributed machine learning for parallel processing can be implemented using at least Figure 1 a first control unit 112 of Figure 1 a second control unit 134 of Figure 1 a first storage unit 114 of Figure 1 a second storage unit 146 of Figure 1 a first storage control unit 132 of Figure 1 a second storage control unit 152 of Figure 1 a first storage medium 126 of Figure 1 a second storage medium 142 of or a combination thereof.

[0225] In one embodiment, the e - learning system 1300 may include adaptive processes for machine learning such as scanning, filtering, prediction, recommendation, machine learning processes, machine learning functions, big data analysis, or combinations thereof. The adaptive processes may include control parameters, selection ratios, learning ratios, host - to - storage computing ratios, or combinations thereof, for parallel or distributed machine learning and hardware control including systems, in - storage computing (ISC), solid - state storage devices (SSDs), or combinations thereof.

[0226] For example, the e - learning system 1300 may intelligently select or partition data, such as training data, to provide significantly improved partial data. The significantly improved partial data may improve the update of models, vectors, or combinations thereof. The intelligent selection or partitioning may provide faster convergence with increased input and output (I / O).

[0227] In one embodiment, the e - learning system 1300 may include a first computing device 1312, a second computing device 1314, a third computing device 1316, or combinations thereof. The first computing device 1312, the second computing device 1314, the third computing device 1316, or combinations thereof may be implemented as system devices or storage devices, such as Figure 5 system device 512 of Figure 5 storage device 514 of Figure 9 system device 912 of Figure 9 storage device 914 of Figure 10 system device 1012 of Figure 10 storage device 1014 of Figure 11 system device 1112 of Figure 11 storage device 1114 of, first device 102, second device 106, any computing device, or combinations thereof. For illustration, the e - learning system 1300 is shown with three computing devices, but it is understood that any number and type of computing devices may be included.

[0228] In one embodiment, the e - learning system 1300 may include a model device 1370, such as a model server. The model device may be implemented as a system device, a storage device, or combinations thereof. The model device 1370 may include, but is not required to include, computing resources. The model device 1370 may include machine - learning data, vectors, parameters, models, or combinations thereof based on machine - learning data, big - data machine learning, analyzed big data, big - data analysis, or combinations thereof.

[0229] For illustration, the first computing device 1312, the second computing device 1314, the third computing device 1316, the model server 1370, or a combination thereof are shown as separate blocks, but it is understood that any block may share portions of hardware with any other block. For example, the first computing device 1312, the second computing device 1314, the third computing device 1316, the model server, or a combination thereof may share portions of hardware circuits or components.

[0230] The e-learning system 1300 may include at least one vector of a first model 1372, such as a storage device computing model. The e-learning system 1300 may also include at least one vector of a second model 1374, such as a host device or system device computing model. The e-learning system 1300 may provide at least one vector of a new or updated model for the first model 1372, the second model 1374, or a combination thereof. The first model 1372, the second model 1374, or a combination thereof may be provided, stored, updated, modified, written, recorded, input, corrected, replaced, or a combination thereof on the model device 1370.

[0231] For illustration, the first model 1372 is shown as a storage device computing model, but it is understood that any device may be utilized to compute the first model 1372. Similarly, for illustration, the second model 1374 is shown as a host or system computing model, but it is understood that any device may be utilized to compute the second model 1374.

[0232] The scheduler 1380 may perform intelligent assignment of data, tasks, functions, operations, or a combination thereof for the first computing device 1312, the second computing device 1314, the third computing device 1316, the model server 1370, or a combination thereof. Intelligent selection or partitioning of data, such as training data, may provide significantly improved partial data. The significantly improved partial data may improve the update of the model, vector, or a combination thereof. Intelligent selection or partitioning may provide faster convergence with increased input and output (I / O).

[0233] The scheduler 1380 may include a first scheduler block 1382, a second scheduler block 1384, a third scheduler block 1386, or a combination thereof, and may include a high-level programming language for implementing functions, such as Figure 10 functions 1040, scheduling algorithms, assignment functions, assignment data, or a combination thereof. The first scheduler block 1382, the second scheduler block 1384, the third scheduler block 1386, or a combination thereof may include a self-organizing per-node scheduler and access control unit for the first computing device 1312, the second computing device 1314, the third computing device 1316, or a combination thereof for selection, partitioning, segmentation, machine learning, or a combination thereof.

[0234] For illustration, the scheduler 1380 is shown as having three blocks, such as a first scheduler block 1382, a second scheduler block 1384, a third scheduler block 1386, or a combination thereof, but it is understood that the scheduler 1380 may include any number of blocks. The scheduler 1380 may also act as a single block having multiple sub-blocks such as a first scheduler block 1382, a second scheduler block 1384, a third scheduler block 1386, or a combination thereof.

[0235] It has been found that the e-learning system 1300 with the scheduler 1380 can perform intelligent selection, partitioning, segmentation, or a combination thereof for parallel or distributed machine learning including big data analysis. The scheduler 1380 can perform intelligent load transfer, selection, partitioning, segmentation, or a combination thereof on data, processes, analysis, functions, learning, or a combination thereof for providing the first model 1372 and the second model 1374 using the first computing device 1312, the second computing device 1314, the third computing device 1316, or a combination thereof.

[0236] Now refer to Figure 14 , in which a process flow of the e-learning system 1400 of the electronic system 100 in an embodiment of the present invention is shown. The e-learning system 1400 can be implemented using Figure 1 the first device 102 of Figure 1 the second device 106 of

[0237] In one embodiment, the e-learning system 1400 can provide machine learning. Machine learning can include algorithms capable of learning from data, including enabling a computer to act without being explicitly programmed, automated reasoning, automated adaptation, automated decision-making, automated learning, the ability of a computer to learn without being explicitly programmed, artificial intelligence (AI), or a combination thereof. Machine learning can be considered a class of artificial intelligence (AI). Machine learning can be implemented when it is not feasible to design and program explicit rule-based algorithms.

[0238] In one embodiment, the e-learning system 1400 can include parallel or distributed machine learning, which includes cluster computing for parallel processing in system processors and in-memory computing (ISC) processors. The parallel or distributed machine learning for parallel processing can utilize at least Figure 1 the first control unit 112 of Figure 1 the second control unit 134 of Figure 1 the first storage unit 114 of Figure 1 the second storage unit 146 of Figure 1 the first storage control unit 132 ofFigure 1 the second storage control unit 152, Figure 1 the first storage medium 126, Figure 1 the second storage medium 142, or a combination thereof.

[0239] In one embodiment, the e - learning system 1400 may include an adaptive process for parallel or distributed machine learning such as scanning, filtering, prediction, recommendation, machine - learning processes, machine - learning functions, big - data analysis, or a combination thereof. The adaptive process may include control parameters, selection ratios, learning ratios, host - computing - to - storage - computing ratios, or a combination thereof, for parallel or distributed machine learning and hardware control including systems, in - storage computing (ISC), solid - state storage devices (SSDs), or a combination thereof.

[0240] For example, the e - learning system 1400 may intelligently select or partition data, such as training data, to provide significantly improved partial data. The significantly improved partial data may improve the update of models, vectors, or a combination thereof. The intelligent selection or partitioning may provide faster convergence with increased input and output (I / O).

[0241] In one embodiment, the e - learning system 1400 may include a start of process 1410, a first detection process 1420, a load - transfer process 1430, a monitoring process 1440, a second detection process 1450, a chocking process 1460, a verification process 1470, an end of process 1480, or a combination thereof. The process flow of the e - learning system 1400 may include iterations of each process based on persistent bottlenecks. For illustration, two detection processes are shown, but it is understood that any number of detection processes may be included. Additionally, for illustration, one of each of the other processes is shown, but it is understood that any number or type of processes may be included.

[0242] In one embodiment, the first detection process 1420 may detect problems such as bottlenecks, resource saturation, stress, limited resources, or a combination thereof in the electronic system 100. For example, the first detection process 1420 may detect input and output problems in the system or host device and the storage device. Based on the detected problems, the first detection process 1420 may continue, point to, cancel, or call the load - transfer process 1430. Based on no detected problems, the first detection process 1420 may continue, point to, cancel, or call the monitoring process 1440.

[0243] In one embodiment, the load transfer process 1430 may provide intelligent processing, including selected processing, partitioned processing, parallel processing, distributed processing, or a combination thereof. The load transfer process 1430 may select, partition, parallelize, distribute, or combine machine learning including data, tasks, processes, functions, big data, analytics, or a combination thereof. For example, the load transfer process 1430 may distribute data and processes for in-storage computing (ISC) from a host or system. The load transfer process 1430 may continue, point to, or call the monitoring process 1440.

[0244] In one embodiment, the monitoring process 1440 may provide detection, identification, monitoring, measurement, verification, or a combination thereof of problems such as bottlenecks, resource saturation, stress, limited resources, or a combination thereof detected by the first detection process 1420. The monitoring process 1440 may continue, point to, or call the second detection process 1450.

[0245] In one embodiment, the second detection process 1450 may detect problems such as bottlenecks, resource saturation, stress, limited resources, or a combination thereof of the electronic system 100. For example, the second detection process 1450 may detect input and output problems of the system or host device and the storage device. Based on the detected problems, the second detection process 1450 may continue, point to, or call the choke process 1460. Based on no problems being detected, the second detection process 1450 may continue, point to, or call the verification process 1470.

[0246] In one embodiment, the choke process 1460 may provide intelligent processing, including selected processing, partitioned processing, parallel processing, distributed processing, or a combination thereof. The choke process 1460 may select, partition, parallelize, distribute, or combine machine learning including data, tasks, processes, functions, big data, analytics, or a combination thereof. For example, the choke process 1460 may distribute data and processes for in-storage computing (ISC) from a host or system. The choke process 1460 may continue, point to, or call the verification process 1470.

[0247] In one embodiment, the verification process 1470 may determine the resolution, completion, end, or a combination thereof of problems such as bottlenecks, resource saturation, stress, limited resources, or a combination thereof of the electronic system 100. Based on determining that the problems of the electronic system 100 are resolved, the verification process 1470 may continue, point to, or call the end of the process 1480. Based on determining that the problems of the electronic system 100 are not resolved, the verification process 1470 may continue, point to, or call the monitoring process 1440.

[0248] It has been found that the process flow of the e - learning system 1400, including the first detection process 1420, the load transfer process 1430, the monitoring process 1440, the second detection process 1450, the chocking process 1460, the verification process 1470, or combinations thereof, may include iterations until the bottleneck is resolved. The first detection process 1420, the second detection process 1450, the verification process 1470, or combinations thereof may be iterated based on continuous detection of unresolved bottlenecks.

[0249] Now refer to Figure 15 , which shows a block diagram of a part of the e - learning system 1500 of the electronic system 100 in an embodiment of the present invention. The e - learning system 1500 may be implemented using Figure 1 the first device 102 of Figure 1 the second device 106 of , integrated circuits, integrated circuit cores, integrated circuit components, micro - electromechanical systems (MEMS), passive devices, or combinations thereof.

[0250] In one embodiment, the e - learning system 1500 may provide machine learning. Machine learning may include algorithms capable of learning from data, including enabling a computer to act without being explicitly programmed, automated reasoning, automated adaptation, automated decision - making, automated learning, the ability of a computer to learn without being explicitly programmed, artificial intelligence (AI), or combinations thereof. Machine learning may be considered a class of artificial intelligence (AI). Machine learning may be implemented when it is not feasible to design and program explicit rule - based algorithms.

[0251] In one embodiment, the e - learning system 1500 provides machine learning including prediction, recommendation, filtering, machine - learning processes, machine - learning functions, or combinations thereof. In some embodiments, prediction may, for example, be based on clicking or selecting an advertisement or advertiser, may recommend one or more items, may filter spam, may include a like process, or combinations thereof, to provide, for example, parallel or distributed machine learning for big - data analysis.

[0252] For example, the e - learning system 1500 may include parallel or distributed machine learning, which includes cluster computing for parallel processing in system processors and in - storage computing (ISC) processors. The parallel or distributed machine learning for parallel processing may utilize at least Figure 1 the first control unit 112 of Figure 1 the second control unit 134 of Figure 1 the first storage unit 114 of Figure 1 the second storage unit 146 of Figure 1 the first storage control unit 132 of Figure 1 the second storage control unit 152 of Figure 1 the first storage medium 126 ofFigure 1 implemented by the second storage medium 142 or a combination thereof.

[0253] In one embodiment, the e - learning system 1500 may include a host device 1512 such as a system device, a storage device 1514, or a combination thereof. The host device 1512 and the storage device may be implemented using the first device 102, any sub - component of the first device 102, the second device 106, any sub - component of the second device 106, an integrated circuit, an integrated circuit core, an integrated circuit component, a micro - electro - mechanical system (MEMS), a passive device, or a combination thereof.

[0254] In one embodiment, the host device 1512 may communicate with the storage device 1514 using an interface 1516. The interface 1516 may include a Serial Attached SCSI (SAS), Serial Attached ATA (SATA), Non - Volatile Memory Express (NVMe), Fiber Channel (FC), Ethernet, Remote Direct Memory Access (RDMA), InfiniBand (IB), any interface, or a combination thereof

[0255] In one embodiment, the storage device 1514 may include a learning engine 1524, a storage central processing unit (CPU) 1532, or a combination thereof. One or more storage CPUs 1524 may provide parallel or distributed machine learning, including cluster computing, for parallel processing in the system processor and in - storage computing (ISC) processors. For illustration, four storage CPUs 1532 are shown, but it is understood that any number of storage CPUs may be included.

[0256] In one embodiment, the storage device 1514 may include a memory 1542, a non-volatile memory 1546, firmware 1548, or a combination thereof. The memory 1542 may include volatile memories such as dynamic random access memory (DRAM), static random access memory (SRAM), other memory technologies, or a combination thereof. The non-volatile memory 1546 may include flash drives, disk storage devices, non-volatile memory (NVM), other storage technologies, or a combination thereof. The firmware 1548 may be stored in a non-volatile storage device including read only memory (ROM), erasable programmable read only memory (EPROM), flash memory, other storage technologies, or a combination thereof. The memory 1542, the non-volatile memory 1546, the firmware 1548, or a combination thereof may be implemented using integrated circuits, integrated circuit cores, integrated circuit components, passive devices, or a combination thereof.

[0257] In one embodiment, the memory 1542, the non-volatile memory 1546, the firmware 1548, or a combination thereof may store relevant information for the storage device 1514. The relevant information may include incoming data, previously presented data, temporary data, any form of social network day, user profile, behavioral data, cookies, any large collection of user data, or a combination thereof for the operation of the storage device 1514.

[0258] In one embodiment, the host device 1512 may include applications 1572 such as parallel or distributed machine learning applications, system calls 1582, system commands 1584, drivers 1586 such as device drivers, or a combination thereof. The application 1572 may provide the driver 1586 with system calls 1582 including system status, input and output control (Ioctl), "LEARN" such as the "LEARN" command of Figure 10 the "LEARN" command, metadata, any system call, or a combination thereof. The driver 1586 may provide system commands 1584 for the storage device 1514 based on the system calls 1582.

[0259] For example, system call 1582, system command 1584, or a combination of these may be based on the detection, identification, monitoring, measurement, verification, or a combination of these of potential problems or bottlenecks in system resources. The problems or bottlenecks may include resource saturation, stress, limited resources, or a combination of these of any system resource, where the system resources include interface 1516. The detection, identification, monitoring, measurement, verification, or a combination of these provides intelligence when implementing parallel or distributed processing for learning engine 1524, system call 1582, system command 1584, or a combination of these.

[0260] In one embodiment, the system command 1584 of driver 1586 may be split, partitioned, selected, or a combination of these for learning engine 1524, storage CPU 1532, host device 1512, or a combination of these. Firmware 1548 may split, partition, select, or a combination of these the system command 1584 into a general command 1592 for storage CPU 1532 and a learning command 1594 for learning engine 1524. Learning commands 1594, such as machine learning commands, may provide parallel or distributed machine learning, including cluster computing, for parallel processing in storage CPU 1532. General commands 1592 may include system commands 1594 for storage device 1514 that do not require machine learning.

[0261] It has been found that the e - learning system 1500 having host device 1512, storage device 1514, system call 1582, system command 1584, learning engine 1524, storage CPU 1532, or a combination of these provides intelligent parallel or distributed machine learning for parallel processing, including cluster computing. System call 1582, system command 1584, or a combination of these utilizes storage CPU 1532 to provide intelligence for parallel processing.

[0262] Now refer to Figure 16 , which shows an example of an embodiment of electronic system 100. Example embodiments of electronic system 100 having a partitioning mechanism may include application examples of electronic system 100 such as smart phone 1612, dashboard of an automobile 1622, notebook computer 1632, server 1642, or a combination of these. These application examples illustrate the purpose or function of various embodiments of the present invention and the importance of improvements in processing performance including improved bandwidth, area efficiency, or a combination of these.

[0263] For example, Figure 11The storage device 1114 can provide significantly improved system performance and avoid problems, bottlenecks, resource saturation, stress, limited resources, or combinations thereof in an electronic system 100 such as a smart phone 1612, a vehicle dashboard 1622, a laptop computer 1632, a server 1642, or combinations thereof. The Figure 11 adaptive block 1130 of Figure 10 the scheduler block 1084, or combinations thereof, can perform intelligent selection, partitioning, parallelization, splitting, or combinations thereof for machine learning.

[0264] For example, Figure 13 the first computing device 1312 can provide significantly improved system performance and avoid problems, bottlenecks, resource saturation, stress, limited resources, or combinations thereof in an electronic system 100 such as a smart phone 1612, a vehicle dashboard 1622, a laptop computer 1632, a server 1642, or combinations thereof. Figure 13 The scheduler 1380 can perform intelligent selection, partitioning, parallelization, splitting, or combinations thereof for machine learning.

[0265] For example, Figure 15 the storage device 1514 can provide significantly improved system performance and avoid problems, bottlenecks, resource saturation, stress, limited resources, or combinations thereof in an electronic system 100 such as a smart phone 1612, a vehicle dashboard 1622, a laptop computer 1632, a server 1642, or combinations thereof. Figure 15 of the storage device 1514 Figure 15 the learning engine 1524 can perform intelligent selection, partitioning, parallelization, splitting, or combinations thereof for machine learning.

[0266] In an example where embodiments of the present invention are integrated physical logic circuits and the storage device 1114, Figure 13 the storage device 1314, the storage device 1514, or combinations thereof are integrated in Figure 1 the control unit 112, Figure 1 the storage unit 114, Figure 1 the first storage medium 126, Figure 1 the second storage medium 142, or combinations thereof, the selection, partitioning, parallelization, splitting, or combinations thereof for machine learning can significantly improve system performance. Various embodiments of the present invention provide selection, partitioning, parallelization, splitting, or combinations thereof for machine learning, thereby improving system performance, improving energy efficiency, enabling new technologies, enabling compatibility with current hierarchies, providing a transparent implementation for user applications, or combinations thereof.

[0267] An electronic system 100, such as a smart phone 1612, a dashboard 1622 of a vehicle, a notebook computer 1632, and a server 1642, may include one or more subsystems (not shown), such as a printed circuit board having various embodiments of the present invention, or an electronic device (not shown) having various embodiments of the present invention. The electronic system 100 may also be implemented as an adapter card in a smart phone 1612, a dashboard 1622 of a vehicle, a notebook computer 1632, and a server 1642.

[0268] Thus, a smart phone 1612, a dashboard 1622 of a vehicle, a notebook computer 1632, a server 1642, other electronic devices, or a combination thereof may utilize the electronic system 100 to provide a much faster throughput, such as processing, output, transmission, storage, communication, display, other electronic functions, or a combination thereof. For illustration, a smart phone 1612, a dashboard 1622 of a vehicle, a notebook computer 1632, a server 1642, other electronic devices, or a combination thereof are shown, but it is to be understood that the electronic system 100 can be used in any electronic device.

[0269] Now referring Figure 17 , a flowchart of a method 1700 for operating an electronic system 100 in an embodiment of the present invention is shown. The method 1700 includes: receiving system information using a storage interface at block 1702; partitioning data based on the system information using a storage control unit configured to implement a preprocessing block at block 1704; and distributing machine learning using a storage control unit configured to implement a learning block for processing a portion of the data at block 1706.

[0270] In one embodiment, the method 1700 for block 1704 may include a storage control unit configured to implement a preprocessing block. The method 1700 for block 1704 may include a storage control unit configured to implement a programming interface.

[0271] In one embodiment, the method 1700 for block 1704 may include a storage unit configured to implement a selection block. The method 1700 for block 1704 may include a storage control unit configured to implement a scan and selection block.

[0272] The method 1700 for block 1706 may include a storage control unit configured to implement a scheduler block.

[0273] The method 1700 may further include storing data using a storage medium configured to store data.

[0274] The resulting methods, processes, apparatuses, devices, products, and / or systems are simple, straightforward, cost-effective, uncomplicated, highly versatile, accurate, sensitive, and effective, and can be implemented by adaptively modifying known components for easy, efficient, and economical manufacture, application, and utilization. Another important aspect of the embodiments of the present invention is that they valuably support and serve the historical trend of reducing costs, simplifying systems, and enhancing performance. These and other valuable aspects of the embodiments of the present invention thus advance the state of the art to at least the next level.

[0275] While the invention has been described in connection with specific best modes, it will be understood that many alternatives, modifications, and variations will be apparent to those skilled in the art in light of the foregoing description. Accordingly, it is intended to embrace all such alternatives, modifications, and variations that fall within the scope of the appended claims. All matters set forth herein or shown in the accompanying drawings are to be interpreted in an illustrative, and not a limiting, sense.

Claims

1. An electronic system, comprising: A storage interface configured to receive system information; A storage control unit coupled to the storage interface and configured to: Identify a load transfer condition based on the system information; Dynamically divide data into a first part of data to be processed by system devices and a second part of data to be processed by a storage device, wherein dynamically dividing the data includes changing the amount of the first part of data based on a change in the load transfer condition, wherein the storage device is coupled to the storage interface and the storage control unit; and Process the second part of data as part of a distributed machine learning process, wherein the system information includes input and output utilization between the system devices and the storage device.

2. The system according to claim 1, wherein, The storage control unit is configured to divide the data through adaptive preprocessing.

3. The system according to claim 1, wherein The storage device is configured to store the data as part of a decentralized storage system of the data.

4. The system according to claim 1, wherein The storage control unit is configured to divide the data based on a selection ratio.

5. The system according to claim 1, wherein, The system information further includes system utilization, system bandwidth of the system devices, or a combination thereof.

6. The system according to claim 1, wherein, Processing the second part of data includes: processing the second part of data pieces as part of a distributed machine learning process between the system devices and the storage device.

7. A method for operating an electronic system, comprising: Receiving system information using a storage interface; Identifying a load transfer condition using a storage control unit based on the system information; Dynamically dividing data into a first part of data to be processed by system devices and a second part of data to be processed by a storage device using the storage control unit, wherein dynamically dividing the data includes changing the amount of the first part of data based on a change in the load transfer condition, wherein the storage device is coupled to the storage interface and the storage control unit, and Processing the second part of data as part of a distributed machine learning process, wherein the system information includes input and output utilization between the system devices and the storage device.

8. The method according to claim 7, wherein, Dividing the data includes dividing the data through adaptive preprocessing.

9. The method according to claim 7, further comprising: Storing the data on the storage device as part of a decentralized storage system of the data.

10. The method according to claim 7, wherein, Dividing the data includes dividing the data based on a selection ratio.

11. The method according to claim 7, wherein, The system information further includes system utilization, system bandwidth of the system devices, or a combination thereof.

12. The method according to claim 7, wherein, Processing the second part of data includes: processing the second part of data as part of a distributed machine learning process between the system devices and the storage device.

13. A non-transitory computer-readable medium, comprising instructions stored thereon that will be executed by a control unit, including: Receiving system information using a storage interface; Identifying a load transfer condition using a storage control unit based on the system information; Dynamically dividing data into a first part of data to be processed by system devices and a second part of data to be processed by a storage device using the storage control unit, wherein dynamically dividing the data includes changing the amount of the first part of data based on a change in the load transfer condition, wherein the storage device is coupled to the storage interface and the storage control unit, and Process the second part of the data as part of a distributed machine learning process. The system information includes the input and output utilization between the system device and the storage device.

14. The medium according to claim 13, wherein, Partitioning the data includes partitioning the data through adaptive preprocessing.

15. The medium according to claim 13, further comprising: Store the data on the storage device as part of the decentralized storage system of the data.

16. The medium according to claim 13, wherein, Partitioning the data includes partitioning the data based on a selection ratio.

17. The medium according to claim 13, wherein, The system information further includes the system utilization, system bandwidth, or a combination thereof of the system device.

18. The medium according to claim 13, wherein, Processing the second part of the data includes: processing the second part of the data as part of a distributed machine learning process between the system device and the storage device.

Citation Information

Patent Citations

  • Method and system for distributed machine learning

    US20130290223A1