Storage system, operation method thereof, electronic system, and storage medium

CN122945880APending Publication Date: 2026-10-20YANGTZE MEMORY TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510447944.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-10
Publication Date
2026-10-20

Smart Images

  • Figure HDA0005354989790000011
    Figure HDA0005354989790000011
  • Figure HDA0005354989790000012
    Figure HDA0005354989790000012
  • Figure HDA0005354989790000013
    Figure HDA0005354989790000013
Patent Text Reader

Abstract

This application discloses a storage system, its operating method, an electronic system, and a storage medium, belonging to the field of storage technology. The storage system includes a memory device and a memory controller coupled to the memory device. The memory controller runs firmware, which records first configuration information, the first configuration information being unchangeable content in a configuration file. The memory controller is configured to: receive a configuration information request command; and, in response to the configuration information request command requesting information from the first configuration information, send a first response message corresponding to the configuration information request command, the first response message being independently determined by the memory controller. Based on this, it is beneficial to improve the efficiency of sending the response message corresponding to the configuration information request command.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of storage technology, and in particular to a storage system and its operating method, an electronic system, and a storage medium. Background Technology

[0002] With the development of storage technology, storage systems are being used more and more widely. A storage system includes a memory device and a memory controller coupled to the memory device. The memory controller can receive commands sent by the host and send corresponding response information to the host.

[0003] In some embodiments, the memory controller can receive commands related to a configuration file sent by the host. In this case, the memory controller needs to send a response message to the host according to the configuration file. The configuration file may refer to the TCG (Trusted Computing Group) configuration file. Summary of the Invention

[0004] This application provides a storage system and its operating method, an electronic system, and a storage medium. The technical solution is as follows:

[0005] On one hand, embodiments of this application provide a storage system, the storage system including a memory device and a memory controller coupled to the memory device; the memory controller runs firmware, the firmware recording first configuration information, the first configuration information being unchangeable content in a configuration file;

[0006] The memory controller is configured to:

[0007] Receive configuration information request command;

[0008] In response to the configuration information request command indicating a request for information in the first configuration information, a first response message corresponding to the configuration information request command is sent, wherein the first response message is determined independently by the memory controller.

[0009] In some embodiments, the configuration information request command indicates a request to read information from the first configuration information, and the first response information includes the information in the first configuration information requested to be read by the configuration information request command; or...

[0010] The configuration information request command indicates a request to change information in the first configuration information, and the first response information indicates that there is no permission to change information in the first configuration information.

[0011] In some embodiments, the memory device stores second configuration information, which is modifiable content in the configuration file;

[0012] The memory controller is also configured to:

[0013] In response to the configuration information request command indicating a request for information in the second configuration information, the memory controller sends a second response message corresponding to the configuration information request command. The second response message is determined by the memory controller through interaction with the memory device.

[0014] In some embodiments, the memory controller is further configured to:

[0015] In response to the configuration information request command indicating a request for information in the second configuration information, a read command is sent to the memory device, the read command instructing the memory device to read the second configuration information;

[0016] The system receives the second configuration information sent by the memory device and stores the received second configuration information in the buffer memory of the memory controller.

[0017] The second response information is determined based on the second configuration information stored in the buffer memory.

[0018] In some embodiments, the configuration information request command indicates a request to read information from the second configuration information, and the second response information includes the information from the second configuration information stored in the buffer memory that was requested to be read by the configuration information request command; or...

[0019] The configuration information request command indicates that the information in the second configuration information be changed, and the second response information indicates that the changed second configuration information be written to the memory device as a write result. The changed second configuration information is obtained by changing the second configuration information stored in the buffer memory based on the configuration information request command.

[0020] In some embodiments, the memory controller is configured to:

[0021] In response to the configuration information request command indicating a request to change information in the second configuration information, the configuration information request command is verified, and if the verification is successful, the second response information is sent.

[0022] In some embodiments, the configuration information request command carries first identification information, which is used to identify the information to be requested by the configuration information request command;

[0023] The configuration information request command indicates a request for information in the first configuration information, including: matching the first identification information with the identification information corresponding to the information in the first configuration information.

[0024] In some embodiments, the configuration file includes a TCG configuration file.

[0025] On the other hand, embodiments of this application provide a storage system, the storage system including a memory device and a memory controller coupled to the memory device; the memory controller runs firmware, the firmware recording first configuration information, the first configuration information being unchangeable content in a configuration file;

[0026] The memory controller is configured to:

[0027] Receive configuration information request command;

[0028] In response to the configuration information request command indicating a request for information in the first configuration information, a first response message corresponding to the configuration information request command is sent, wherein the first response message is determined independently by the memory controller.

[0029] In some embodiments, the configuration information request command indicates a request to read information from the first configuration information, and the first response information includes the information in the first configuration information requested to be read by the configuration information request command; or...

[0030] The configuration information request command indicates a request to change information in the first configuration information, and the first response information indicates that there is no permission to change information in the first configuration information.

[0031] In some embodiments, the memory device stores second configuration information, which is modifiable content in the configuration file;

[0032] The memory controller is also configured to:

[0033] In response to the configuration information request command indicating a request for information in the second configuration information, the memory controller sends a second response message corresponding to the configuration information request command. The second response message is determined by the memory controller through interaction with the memory device.

[0034] In some embodiments, the memory controller is further configured to:

[0035] In response to the configuration information request command indicating a request for information in the second configuration information, a read command is sent to the memory device, the read command instructing the memory device to read the second configuration information;

[0036] The system receives the second configuration information sent by the memory device and stores the received second configuration information in the buffer memory of the memory controller.

[0037] The second response information is determined based on the second configuration information stored in the buffer memory.

[0038] In some embodiments, the configuration information request command indicates a request to read information from the second configuration information, and the second response information includes the information from the second configuration information stored in the buffer memory that was requested to be read by the configuration information request command; or...

[0039] The configuration information request command indicates that the information in the second configuration information be changed, and the second response information indicates that the changed second configuration information be written to the memory device as a write result. The changed second configuration information is obtained by changing the second configuration information stored in the buffer memory based on the configuration information request command.

[0040] In some embodiments, the memory controller is configured to:

[0041] In response to the configuration information request command indicating a request to change information in the second configuration information, the configuration information request command is verified, and if the verification is successful, the second response information is sent.

[0042] In some embodiments, the configuration information request command carries first identification information, which is used to identify the information to be requested by the configuration information request command;

[0043] The configuration information request command indicates a request for information in the first configuration information, including: matching the first identification information with the identification information corresponding to the information in the first configuration information.

[0044] In some embodiments, the configuration file includes a TCG configuration file.

[0045] On the other hand, embodiments of this application provide an electronic system, the electronic system comprising:

[0046] Host;

[0047] The host computer is coupled to a storage system; the storage system includes a memory device and a memory controller coupled to the memory device; the memory controller runs firmware, which records first configuration information, which is unchangeable content in a configuration file.

[0048] The host is configured to send a configuration information request command to the memory controller;

[0049] The memory controller is configured to receive the configuration information request command, and in response to the configuration information request command indicating a request for information in the first configuration information, send a first response information corresponding to the configuration information request command to the host, wherein the first response information is determined independently by the memory controller;

[0050] The host is also configured to receive the first reply information.

[0051] In some embodiments, the configuration information request command indicates a request to read information from the first configuration information, and the first response information includes the information in the first configuration information requested to be read by the configuration information request command; or...

[0052] The configuration information request command indicates a request to change information in the first configuration information, and the first response information indicates that there is no permission to change information in the first configuration information.

[0053] In some embodiments, the memory device stores second configuration information, which is modifiable content in the configuration file;

[0054] The memory controller is further configured to send a second response message corresponding to the configuration information request command to the host in response to the configuration information request command indicating that the information in the second configuration information is requested. The second response message is determined by the memory controller through interaction with the memory device.

[0055] The host is also configured to receive the second response information.

[0056] In some embodiments, the memory controller is further configured to send a read command to the memory device in response to the configuration information request command indicating that information in the second configuration information is requested, the read command instructing the memory device to read the second configuration information;

[0057] The memory device is configured to read the second configuration information based on the read command and send the second configuration information to the memory controller;

[0058] The memory controller is further configured to receive the second configuration information sent by the memory device, store the received second configuration information in a buffer memory of the memory controller, and determine the second response information based on the second configuration information stored in the buffer memory.

[0059] In some embodiments, the configuration information request command indicates a request to read information from the second configuration information, and the second response information includes the information from the second configuration information stored in the buffer memory that was requested to be read by the configuration information request command; or...

[0060] The configuration information request command indicates that the information in the second configuration information be changed, and the second response information indicates that the changed second configuration information be written to the memory device as a write result. The changed second configuration information is obtained by changing the second configuration information stored in the buffer memory based on the configuration information request command.

[0061] In some embodiments, the memory controller is further configured to, in response to the configuration information request command indicating a request to change information in the second configuration information, modify the second configuration information stored in the buffer memory based on the configuration information request command to obtain the modified second configuration information; and send a write command to the memory device, the write command instructing the memory device to write the modified second configuration information;

[0062] The memory device is also configured to write the modified second configuration information based on the write command and send the write result to the memory controller;

[0063] The memory controller is also configured to determine the second response information based on the write result.

[0064] In some embodiments, the memory controller is further configured to verify the configuration information request command in response to the configuration information request command indicating a request to change information in the second configuration information, and send the second response information to the host if the verification is successful.

[0065] In some embodiments, the configuration information request command carries first identification information, which is used to identify the information to be requested by the configuration information request command;

[0066] The configuration information request command indicates a request for information in the first configuration information, including: matching the first identification information with the identification information corresponding to the information in the first configuration information.

[0067] In some embodiments, the configuration file includes a TCG configuration file.

[0068] On the other hand, embodiments of this application provide a non-transitory computer-readable storage medium storing firmware, which is loaded and executed by a memory controller in a storage system to enable the memory controller to implement any of the above-described storage system operation methods. Attached Figure Description

[0069] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0070] Figure 1 This is a schematic diagram of the structure of an electronic system provided in an embodiment of this application;

[0071] Figure 2 This is a schematic diagram of the structure of a memory card provided in an embodiment of this application;

[0072] Figure 3 This is a schematic diagram of the structure of a solid-state drive provided in an embodiment of this application;

[0073] Figure 4 This is a schematic diagram of the structure of a memory device provided in an embodiment of this application;

[0074] Figure 5 This is a schematic diagram of the structure of a storage system provided in an embodiment of this application;

[0075] Figure 6 This is a schematic diagram of another storage system provided in an embodiment of this application;

[0076] Figure 7 This is a schematic diagram illustrating a storage method for the content of a configuration file provided in an embodiment of this application;

[0077] Figure 8 This is a schematic diagram illustrating the process by which a memory controller determines response information, as provided in an embodiment of this application.

[0078] Figure 9 This is a schematic diagram illustrating another process by which a memory controller determines response information, as provided in an embodiment of this application.

[0079] Figure 10 This is a schematic diagram illustrating the process by which a memory controller sends a response message to a host, as provided in an embodiment of this application.

[0080] Figure 11 This is a flowchart illustrating an operation method of a storage system provided in an embodiment of this application;

[0081] Figure 12 This is a schematic diagram of the structure of an electronic system provided in an embodiment of this application. Detailed Implementation

[0082] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings. Although exemplary embodiments of this application are shown in the drawings, it should be understood that this application can be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided to enable a more thorough understanding of this application and to fully convey the scope of this application to those skilled in the art. The drawings are all in a very simplified form and use non-precise proportions, and are only used to facilitate and clarify the purpose of illustrating the embodiments of this application.

[0083] It should be noted that the terms "first," "second," etc., used in this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. The implementation methods described in the following exemplary embodiments do not represent all implementation methods consistent with this application. Rather, they are merely examples consistent with some aspects of this application.

[0084] It should be readily understood that the meanings of “on,” “above,” and “on top of” in this application should be interpreted in the broadest possible sense, such that “on” means not only “directly on something” but also includes “on something” with an intermediate feature or layer therebetween, and that “above” or “on top of” means not only “above something” but also includes “above something” or “on top of something” without an intermediate feature or layer therebetween (i.e., directly on something).

[0085] Furthermore, spatial relative terms such as “below,” “under,” “lower,” “above,” and “upper” are used herein for ease of description to describe the relationship between one element or feature and (one or more) another element or feature as shown in the figures. Spatial relative terms are intended to cover different orientations in the use or operation of the device other than those depicted in the figures. The device may be oriented in other ways (rotated 90 degrees or in other orientations), and the spatial relative descriptive terms used herein may be interpreted accordingly.

[0086] Figure 1The illustration shows a schematic diagram of an electronic system provided in an embodiment of this application. The electronic system 100 may be a mobile phone, desktop computer, laptop computer, tablet computer, vehicle computer, game console, printer, positioning device, wearable electronic device, smart sensor, virtual reality (VR) device, augmented reality (AR) device, or any other suitable electronic device having a storage device therein.

[0087] like Figure 1 As shown, the electronic system 100 includes a host 101 and a storage system 102 coupled to the host 101. The host 101 may be a processor (e.g., a central processing unit (CPU)) or a system-on-chip (SoC) (e.g., an application processor (AP)) of an electronic device. The host 101 may be configured to send data to the storage system 102. Alternatively, the host 101 may be configured to receive data from the storage system 102.

[0088] Storage system 102 includes one or more memory devices 103 and a memory controller 104. The memory controller 104 is coupled to the memory device 103 and configured to control the memory device 103. The memory device 103 can be any type of memory. Optionally, the memory device 103 is a NAND (Not AND) flash memory, such as 3D NAND flash memory; or, the memory device 103 is DRAM (Dynamic Random Access Memory), etc.

[0089] For example, the memory controller 104 is also coupled to the host 101. The memory controller 104 can manage data stored in the memory device 103 and communicate with the host 101.

[0090] In one possible implementation, the memory controller 104 is designed to operate in a low duty cycle environment, such as a Secure Digital (SD) card, a Compact Flash (CF) card, a Universal Serial Bus (USB) flash drive, or other media used in electronic devices such as personal calculators, digital cameras, mobile phones, etc.

[0091] In one possible implementation, the memory controller 104 is designed to operate in a high duty cycle environment, such as a solid-state drive (SSD) or an embedded multi-media card (eMMC). SSDs or eMMCs are used as data storage for mobile devices such as smartphones, tablets, laptops, etc., as well as for enterprise storage arrays.

[0092] The memory controller 104 can be configured to control the operation of the memory device 103, such as read, erase, and program operations. The memory controller 104 can also be configured to manage various functions related to data stored or to be stored in the memory device 103, including but not limited to bad block management, garbage collection, logical-to-physical address translation, wear leveling, etc. In one possible implementation, the memory controller 104 is further configured to process error correction codes (ECCs) regarding data read from or written to the memory device 103. In this embodiment, the memory controller 104 is configured to send response information corresponding to a configuration information request command to the host 101.

[0093] The memory controller 104 can also perform any other suitable function, such as formatting the memory device 103. The memory controller 104 can communicate with external devices (e.g., the host 101) according to a specific communication protocol. For example, the memory controller 104 can communicate with external devices through at least one of various interface protocols, such as USB, MMC (Multi Media Card), Peripheral Component Interconnect (PCI), PCI-Express (PCI-E), Advanced Technology Attachment (ATA), Serial ATA (SATA), Parallel ATA, Small Computer System Interface (SCSI), Enhanced Small Drive Interface (ESDI), Integrated Drive Electronics (IDE), FireWire, and NVMe (Non-Volatile Memory Express) protocol.

[0094] The memory controller 104 and one or more memory devices 103 can be integrated into various types of storage systems 102, for example, included in the same package (e.g., a Universal Flash Storage (UFS) package or an eMMC package). That is, the storage system 102 can be implemented and packaged into different types of end electronic products.

[0095] For example, such as Figure 2 As shown, the memory controller 104 and the single memory device 103 can be integrated into the memory card 200. The memory card 200 may include PC cards (Personal Computer Memory Card International Association, PCMCIA, abbreviated as PC), CF cards, SmartMedia (SM) cards, memory sticks, multimedia cards (MMC, RS-MMC (Reduced-Size MMC), MMCmicro (Micro Multimedia Card)), SD cards (SD, miniSD (Small Secure Digital Storage Card), microSD (Micro Secure Digital Storage Card), SDHC (Secure Digital High Capacity)), UFS, etc. The memory card 200 may also include a connection between the memory card 200 and a host computer (e.g., Figure 1 The memory card connector 201 is coupled to the host 101.

[0096] For example, such as Figure 3 As shown, the memory controller 104 and multiple memory devices 103 can be integrated into a solid-state drive (also referred to as a solid-state drive) 300. The solid-state drive 300 may also include a connection between the solid-state drive 300 and a host computer (e.g., ...). Figure 1 The solid-state drive connector 301 is coupled to the host 101. In one possible implementation, the storage capacity and / or operating speed of the solid-state drive 300 is greater than the storage capacity and / or operating speed of the memory card 200.

[0097] Figure 4 A schematic diagram of a memory device provided in an embodiment of this application is shown. Figure 4 As shown, the memory device 103 includes a memory array 310 and peripheral circuitry 340 that is communicatively connected to the memory array 310.

[0098] The memory array 310 includes a plurality of memory strings 311 arranged in an array. The plurality of memory strings 311 are located on the bearing side of a substrate (not shown) and extend in a direction perpendicular to the bearing surface of the substrate. Exemplarily, the bearing surface of the substrate refers to the surface of the substrate used to bear the memory array 310.

[0099] Each memory string 311 includes multiple memory cells 312, which are stacked in a direction perpendicular to the substrate support surface. Each memory cell 312 has the function of storing data, and the stored data is determined by the number of electrons stored in the memory cell 312. The number of electrons stored in the memory cell 312 determines the magnitude of its threshold voltage; therefore, the threshold voltage of the memory cell 312 indicates the data it stores. The memory cell 312 is a floating-gate field-effect transistor or a charge-trap field-effect transistor.

[0100] For example, the storage unit 312 can be a single-level cell (SLC), a multi-level cell (MLC), a triple-level cell (TLC), or a quad-level cell (QLC), etc. SLC, MLC, TLC, and QLC can store 1, 2, 3, and 4 bits of data, respectively.

[0101] Each memory string 311 also includes an upper select transistor 313 and a lower select transistor 314. Upper select transistors 313 in different memory strings 311, at the same or similar height from the substrate bearing surface, are coupled to the same drain select line (DSL) 350. Lower select transistors 314 in different memory strings 311, at the same or similar height from the substrate bearing surface, are coupled to the same source select line (SSL) 360. The upper select transistors 313 and 314 are used to activate the selected memory string when reading, programming, or erasing memory cells. The upper select transistor 313 is also referred to as the top select gate (TSG), and the lower select transistor 314 is also referred to as the bottom select gate (BSG). Exemplarily, dummy cells (DCs) also exist between the upper select transistor 313 and the memory cell 312, and between the lower select transistor 314 and the memory cell 312.

[0102] One end of the storage string 311 is coupled to the bit line (BL) 320, and the other end of the storage string 311 is coupled to the source line (SL) 370.

[0103] Storage cells 312 in different storage strings 311 that are at the same or similar height from the substrate bearing surface are in the same layer. Multiple storage cells 312 in the same layer form a storage cell layer. That is, the storage array 310 includes multiple storage cell layers, and multiple word lines 330 are coupled to multiple storage cell layers respectively.

[0104] All memory strings 311 sharing the same set of word lines in memory array 310 form a memory block 31b. Each memory block 31b includes multiple memory pages, which are the smallest units for reading and programming (also known as writing), and the memory block 31b is the smallest unit for erasing.

[0105] In some embodiments, the source ends of each storage string 311 in the same storage block 31b are coupled to the same source line 370, which is also called a common source line (CSL). In other words, each storage string 311 in the same storage block 31b has an array common source (ACS). Here, the source end of the storage string 311 refers to the end of the storage string 311 used for coupling with the source line 370.

[0106] Peripheral circuitry 340 can be coupled to memory array 310 via drain select line 350, source select line 360, bit line 320, source line 370, and word line 330. Peripheral circuitry 340 may include any suitable analog, digital, and mixed-signal circuitry for facilitating operation of memory array 310 by applying voltage and / or current signals to memory cells 312 via drain select line 350, source select line 360, bit line 320, source line 370, and word line 330, and by sensing voltage and / or current signals from memory cells 312.

[0107] The peripheral circuitry 340 may include various types of peripheral circuits formed using metal-oxide-semiconductor (MOS) technology. The peripheral circuitry 340 can control the memory cells 312 in the selected memory string by controlling the voltage of the word line 330 coupled to the selected memory string and the voltage of the bit line 320 coupled to the selected memory string, thereby enabling operations such as erasing, programming, reading, or verification.

[0108] Figure 5This diagram illustrates a storage system according to an embodiment of the present application. The storage system 102 includes a memory device 103 and a memory controller 104 coupled to the memory device 103. The memory device 103 includes a memory array 310 and peripheral circuitry 340 communicatively connected to the memory array 310.

[0109] The memory controller 104 includes a processor 402, an I / F (Interface) 404, an I / F 406, and a buffer memory 408. The processor 402 is the core of the memory controller 104, responsible for processing instructions from the host and scheduling operations on the memory device 103 according to those instructions. The I / F 404 is used for communication between the memory controller 104 and the host, and the I / F 406 is used for communication between the memory controller 104 and the memory device 103. The buffer memory 408 is used for temporary data storage to improve data access speed.

[0110] exist Figure 5 In the illustrated storage system architecture, the data reading process includes: the host sends a read command to the memory controller 104 via I / F 404; after receiving the read command, the processor 402 of the memory controller 104 first queries the buffer memory 408. If the required data exists in the buffer memory 408, the processor 402 directly reads the data from the buffer memory 408 and returns the data to the host via I / F 404. If the required data does not exist in the buffer memory 408, the processor 402 sends a read command to the memory device 103 via I / F 406. After receiving the read command, the peripheral circuit 340 of the memory device 103 decodes the address in the read command, locates the corresponding storage location in the storage array 310, and reads the data from the corresponding storage location. The peripheral circuit 340 transmits the read data back to the memory controller 104 via I / F 406. The processor 402 in the memory controller 104 stores the data in the buffer memory 408 for subsequent access, and simultaneously sends the data to the host via I / F 404.

[0111] The data writing process includes: the host prepares the data to be written and the corresponding storage address, and sends a write command to the memory controller 104 via I / F 404. The processor 402 of the memory controller 104 receives the write command, temporarily stores the data to be written in the buffer memory 408, and simultaneously sends a write command to the memory device 103 via I / F 406. The write command contains the data to be written and the storage address where the data is to be written. After receiving the write command, the peripheral circuit 340 of the memory device 103 decodes the storage address, finds the corresponding storage location in the storage array 310, and then writes the data to be written to that storage location. After completing the data writing operation, the peripheral circuit 340 sends a write completion signal back to the memory controller 104. Upon receiving the feedback, the processor 402 in the memory controller 104 confirms that the data has been successfully written to the memory device 103 and sends a write completion signal back to the host via I / F 404.

[0112] With the development of storage technology, storage systems are being used more and more widely. A storage system includes a memory device and a memory controller coupled to the memory device. The memory controller can receive commands sent by the host and send corresponding response information to the host.

[0113] In some embodiments, the memory controller can receive commands related to a configuration file sent by the host. In this case, the memory controller needs to send a response message to the host according to the configuration file.

[0114] In one embodiment, the configuration files are stored uniformly in the memory device. After the host sends a command related to the configuration files, the memory controller needs to load all the configuration files into the internal storage device, and then determine and send a response message based on the contents of the internal storage device.

[0115] The configuration file is relatively large; for example, it may require 128KB (kilobytes) of storage space. Loading the entire configuration file into the internal storage device will consume a lot of internal storage resources and the loading speed will be slow, resulting in low efficiency in sending reply information and low efficiency in the interaction between the storage system and the host.

[0116] Furthermore, in some embodiments, the storage space within the memory controller's internal storage device is fragmented, for example, in 4KB units. In this case, requesting large blocks of storage space for storing configuration files is difficult. The more storage space requested, the more difficult it is to manage, and the greater the probability of conflicts with other operations that require storage space. This can easily lead to the storage system malfunctioning or malfunctioning. In some embodiments, other operations utilizing storage space may refer to FTL (Flash Translation Layer) operations. The main task of FTL is to translate between the logical address space used by the host and the physical address space used by the memory device. FTL also has various functions for managing data stored or to be stored in the memory device, including but not limited to bad block management, garbage collection, logical-to-physical address translation, wear leveling, and error correction.

[0117] This application provides a storage system, such as... Figure 6 As shown, the storage system 600 includes a memory device 610 and a memory controller 620 coupled to the memory device 610. The storage system 600 can be as described above. Figure 1 and Figure 5 The storage system 102 and the memory device 610 can be the above-mentioned Figures 1 to 5 The memory device 103 and memory controller 620 can be the above-mentioned Figures 1 to 3 , Figure 5 The memory controller 104 in the middle.

[0118] In this embodiment of the application, the memory controller 620 runs firmware, which records first configuration information, which is unchangeable content in the configuration file; the memory controller 620 is configured to: receive a configuration information request command; and in response to the configuration information request command indicating a request for information in the first configuration information, send a first reply information corresponding to the configuration information request command, which is determined independently by the memory controller 620.

[0119] Firmware is software embedded in hardware. Unlike application software that typically runs on a computer operating system, firmware is specifically tailored for particular hardware and is used to control and manage the basic functions and operations of that hardware. The firmware involved in this application embodiment is software used to control and manage the basic functions and operations of a memory controller 620. The firmware contains a series of instructions that coordinate communication between the memory controller 620 and the host and memory device 610. In some embodiments, the instructions in the firmware are presented in the form of program code.

[0120] Before the memory controller 620 runs the firmware, a firmware loading process needs to be performed first. For example, the firmware is stored in the memory device 610 by default. When the memory controller 620 starts, it first executes an initialization program. This initialization program guides the memory controller 620 to read the firmware from the memory device 610 and load it into the buffer memory within the memory controller 620. The buffer memory in the memory controller 620 is internal hardware with storage capabilities, and it has a faster read / write speed than the memory device 610. This application embodiment does not limit the type of the memory device 610 or the buffer memory in the memory controller 620. For example, the memory device 610 is of type NAND, and the buffer memory in the memory controller 620 is of type RAM (Random Access Memory).

[0121] Once the firmware is successfully loaded into the buffer memory, the memory controller 620 begins running the firmware, that is, executing the instructions in the firmware. The memory controller 620 reads and parses the instructions sequentially according to the logical order of the firmware, and performs the corresponding operations based on the requirements of the instructions. For example, the memory controller 620 includes a processor, and the memory controller 620 running firmware means that the processor in the memory controller 620 runs the firmware.

[0122] In some embodiments, after the memory controller 620 successfully loads the firmware from the memory device 610 into the buffer memory, the firmware stored in the memory device 610 is not erased, so as to ensure that the firmware is always backed up in the memory device 610, so that if the firmware running in the memory controller 620 is damaged or lost due to various reasons (such as hardware failure, software error, unexpected power failure, etc.), the firmware backed up in the memory device 610 can serve as a reliable recovery source.

[0123] In this embodiment, the memory controller 620 runs firmware, meaning that the memory controller 620 has successfully loaded the firmware from the memory device 610 into the buffer memory and has started running the firmware.

[0124] In this embodiment, the firmware running on the storage controller 620 records first configuration information, which refers to the unchangeable content in the configuration file. The configuration file sets and describes the parameters, functions, and component relationships of the storage system 600, playing a crucial role in the normal operation, performance optimization, and management of the storage system 600. The host can read or modify some information in the configuration file by interacting with the storage system 600.

[0125] This application does not limit the type of configuration file. For example, the configuration file includes the TCG configuration file. The TCG configuration file is a series of specification documents developed by TCG to define and standardize standards for components, interfaces, and operational procedures related to trusted computing technologies, thereby achieving the trustworthiness and security of the computing platform. The TCG configuration file enables trusted computing products developed by different vendors to be compatible and work together, providing a unified standard and guidance for building a secure and reliable computing environment. This application does not limit the applicable specifications for the TCG configuration file. For example, the applicable specifications for the TCG configuration file can be the Opal specification or the Pyrite specification, etc. Both the Opal and Pyrite specifications are developed by TCG. While both the Opal and Pyrite specifications aim to enhance the security and trustworthiness of the computing environment, they differ in specific functions and application scenarios. The Pyrite specification focuses more on storage system-specific functions such as data deletion, while the Opal specification covers a wider range of functions such as encryption and authentication.

[0126] The configuration file includes modifiable and non-modifiable content. The modifiable and non-modifiable content in the configuration file can be preset by the configuration file provider. The configuration file provider can set the modifiable and non-modifiable content in the configuration file by comprehensively considering factors such as the stability, security, hardware characteristics, software compatibility, and manufacturer specifications of the storage system 600. This application embodiment does not limit this.

[0127] For example, key parameters related to the core architecture and basic operating mechanism of the storage system 600 cannot be changed, such as the underlying data storage format of the storage system 600 and the basic communication protocol settings of the hardware interfaces. Some performance optimization parameters that have a minor impact on the stability of the storage system 600 can be set to be changeable, such as some cache-related parameters, such as cache size and cache data replacement strategy.

[0128] For example, key configuration information related to the security authentication and authorization mechanism of Storage System 600 cannot be changed, such as the root key of Storage System 600 and the certificate configuration of the certification authority. Some security-related content, such as user-level access permission settings, can be changed, such as file access permissions for ordinary users and read / write permissions for specific user groups.

[0129] For example, the configuration related to the inherent hardware attributes of the storage system 600 cannot be changed, such as the physical capacity of the hard drive, the type and specifications of the storage device 610, etc. Some parameters related to the hardware operating mode but adjustable through software can be changed, such as the power saving mode setting of the hard drive, the performance optimization mode selection of the solid-state drive, etc.

[0130] For example, each item in the configuration file has an identifier that indicates whether the item is modifiable or not, based on which the identifier can be used to distinguish whether each item in the configuration file is modifiable or not.

[0131] In some embodiments, when the configuration file is a TCG configuration file, the immutable content in the TCG configuration file may include, but is not limited to, UID (Unique Identifier), SSC (Storage Security Command) version information, and ACL (Access Control List); the modifiable content in the TCG configuration file may include, but is not limited to, PIN (Personal Identification Number), PIN attempt count, and associated information about the locking range.

[0132] UID is used to uniquely identify a specific item in the TCG configuration file. SSC version information records the version number of storage security commands and related functions. Different SSC versions may have different features, security mechanisms, and management capabilities for the storage system. ACL is used to define access permissions for specific resources. In the TCG configuration file, ACL specifies which users or user groups can access specific storage resources or perform specific operations. PIN is a user-set personal identification code used for authentication. Users need to enter the correct PIN to access protected resources or perform specific operations.

[0133] The PIN attempt count records the number of times a PIN has been attempted. Typically, a maximum number of attempts is allowed. When the number of incorrect PIN attempts reaches this limit, the storage system may take measures such as locking the device or restricting further access attempts to prevent security threats like brute-force attacks. Locking range defines the scope of the lock; for example, a locking range can specify a locked storage area. Locking range association information refers to information related to the locking range. Based on this association information, data in specific areas can be protected from unauthorized access or modification. Users can enable users, set passwords, check permissions, and set range access permissions based on information obtained from the TCG configuration file.

[0134] In this embodiment, the unchangeable content in the configuration file is referred to as first configuration information, and the changeable content in the configuration file is referred to as second configuration information. The first configuration information is recorded in the firmware, and the second configuration information is stored in the memory device 610. In some embodiments, the second configuration information is stored in a fixed area in the memory device 610, and the location of this fixed area in the memory device 610 can be flexibly set.

[0135] For example, taking NAND as an example, the storage method of the contents in the configuration file can be as follows: Figure 7 As shown, the contents of the configuration file are divided into immutable and modifiable content. The immutable content is recorded in the firmware (e.g., written in the program code within the firmware), while the modifiable content is stored in NAND flash memory.

[0136] Based on this, after the memory controller 620 runs the firmware, the memory controller 620 can directly obtain the first configuration information from the running firmware. That is, the memory controller 620 can obtain the first configuration information without interacting with the memory device 610. In some embodiments, the memory controller 620 directly obtaining the first configuration information from the running firmware means that the processor in the memory controller 620 directly obtains the first configuration information from the running firmware.

[0137] The memory controller 620 runs firmware that records first configuration information. Based on this, the memory controller 620 can receive configuration information request commands. In response to the configuration information request command requesting information in the first configuration information, the memory controller 620 sends first reply information corresponding to the configuration information request command. The first reply information is determined independently by the memory controller 620.

[0138] A configuration information request command is a command sent by the host to request information from a configuration file. This application embodiment does not limit the timing of the host sending the configuration information request command to the memory controller 620. After the host sends the configuration information request command to the memory controller 620, the memory controller 620 receives the configuration information request command. In some embodiments, the memory controller 620 has a first interface through which it receives the configuration information request command. The first interface is an interface of the memory controller 620 for communicating with the host.

[0139] This application does not limit the type of configuration information request command. For example, the configuration information request command can be either a request to read or a request to modify. When the configuration information request command is of the request to read type, it requests to read information from the configuration file; when the configuration information request command is of the request to modify type, it requests to modify information from the configuration file.

[0140] In some embodiments, the configuration information request command has a field for identifying the type of the configuration information request command, and the memory controller 620 can determine the type of the configuration information request command based on this field. For example, if the field is GET, it indicates that the type of the configuration information request command is a request to read; if the field is SET, it indicates that the type of the configuration information request command is a request to change.

[0141] After receiving a configuration information request command, the memory controller 620 can determine whether the configuration information request command indicates a request for information in the first configuration information.

[0142] In some embodiments, the configuration information request command carries first identification information, which identifies the information to be requested by the configuration information request command. Based on this, the memory controller 620 may determine whether the configuration information request command indicates a request for information in the first configuration information by comparing the first identification information with the identification information corresponding to the information in the first configuration information. If the first identification information matches the identification information corresponding to the information in the first configuration information, the memory controller 620 determines that the configuration information request command indicates a request for information in the first configuration information; if the first identification information does not match the identification information corresponding to the information in the first configuration information, the memory controller 620 determines that the configuration information request command does not indicate a request for information in the first configuration information. In other words, for the configuration information request command to indicate a request for information in the first configuration information, the first identification information must match the identification information corresponding to the information in the first configuration information.

[0143] Since the firmware running on the memory controller 620 records the first configuration information, and each piece of information in the first configuration information has its own identification information, the memory controller 620 can know the identification information corresponding to the information in the first configuration information, and thus can compare the first identification information with the identification information corresponding to the information in the first configuration information. In other words, the memory controller 620 can independently execute the process of determining whether the configuration information request command indicates a request for information in the first configuration information. It should be noted that, in this embodiment, the configuration information request command indicating a request for information in the first configuration information means that the configuration information request command indicates a request for only information in the first configuration information.

[0144] This application does not limit the type of identification information, as long as it can identify the information. For example, the identification information can refer to a UID. For example, the information in the configuration file is recorded in the form of a table, and the identification information can refer to the position of the information recorded in the table.

[0145] In some embodiments, the information to be requested by the configuration information request command may include one or more pieces of information, and the number of first identification information is the same as the number of items of information to be requested by the configuration information request command, that is, the number of first identification information may be one or more.

[0146] In some embodiments, matching the identification information corresponding to the information in the first identification information means that each piece of first identification information matches the identification information corresponding to the information in the first configuration information. Specifically, a first identification information matching the identification information corresponding to the information in the first configuration information means that the first identification information is the same as the identification information corresponding to any item in the first configuration information.

[0147] When the configuration information request command indicates a request for information in the first configuration information, the memory controller 620 independently determines the first response information corresponding to the configuration information request command and sends the first response information to the host. The first response information refers to the response information fed back by the memory controller 620 to the host when the configuration information request command indicates a request for information in the first configuration information.

[0148] The memory controller 620 independently determining the first response information means that the memory controller 620 can determine the first response information without interacting with other devices. In other words, the memory controller 620 determines the first response information independently, without relying on other devices. The method by which the memory controller 620 determines the first response information varies depending on the type of configuration information request command.

[0149] When the configuration information request command is of the request-to-read type, the configuration information request command indicating a request to read information in the first configuration information refers to the configuration information request command indicating a request to read information in the first configuration information. When the configuration information request command indicates a request to read information in the first configuration information, the memory controller 620 determines the first response information as follows: the memory controller 620 extracts the information requested to be read by the configuration information request command from the first configuration information, and constructs the first response information based on the extracted information. In other words, the first response information includes the information in the first configuration information that was requested to be read by the configuration information request command.

[0150] The memory controller 620 can determine the information requested to be read by the configuration information request command based on the first identification information carried by the configuration information request command, and then extract the information requested to be read by the configuration information request command from the first configuration information recorded in the running firmware.

[0151] When the configuration information request command is of the request to change type, it is determined that the configuration information request command indicates a request to change information in the first configuration information. In the case where the configuration information request command indicates a request to change information in the first configuration information, since the first configuration information is unchangeable content in the configuration file, the memory controller 620 determines the first response information as follows: the memory controller 620 uses the response information indicating that there is no permission to change information in the first configuration information as the first response information. In other words, the first response information indicates that there is no permission to change information in the first configuration information.

[0152] This application does not limit the form of the first response information, as long as it ensures that the host can extract the required information from the first response information, or that the host can know from the first response information that it does not have permission to change the information in the first configuration information. For example, the first response information can be in the form of a message.

[0153] In some embodiments, the configuration information request command not indicating a request for information in the first configuration information may include two cases: the configuration information request command indicates a request for information in the second configuration information; or the configuration information request command indicates a request for information in both the first and second configuration information. It should be noted that, in the embodiments of this application, the configuration information request command indicating a request for information in the second configuration information means that the configuration information request command indicates a request for only information in the second configuration information.

[0154] For example, when there is only one first identifier, if this first identifier does not match any identifier in the first configuration information, the configuration information request command can be determined to request information in the second configuration information. When there are multiple first identifiers, if none of the multiple first identifiers match any identifier in the first configuration information, the configuration information request command can be determined to request information in the second configuration information. If some of the multiple first identifiers match identifiers in the first configuration information, and some do not match identifiers in the first configuration information, the configuration information request command can be determined to request information in both the first and second configuration information. Here, a first identifier matching an identifier in the first configuration information means that the first identifier is the same as the identifier corresponding to any item in the first configuration information; a first identifier not matching an identifier in the first configuration information means that the first identifier is different from all identifiers corresponding to any item in the first configuration information.

[0155] In some embodiments, the memory controller 620 is further configured to: in response to a configuration information request command indicating a request for information in the second configuration information, send second response information corresponding to the configuration information request command, wherein the second response information is determined by the memory controller 620 through interaction with the memory device 610. The second response information is the response information sent by the memory controller 620 to the host when the configuration information request command indicates a request for information in the second configuration information.

[0156] In other words, when the configuration information request command indicates a request for information in the second configuration information, the memory controller 620 determines the second response information by interacting with the memory device 610, and then sends the second response information to the host.

[0157] In some embodiments, the memory controller 620 is configured to determine the second response information by performing the following operations: in response to a configuration information request command instructing the memory device 610 to read the second configuration information; receiving the second configuration information sent by the memory device 610 and storing the received second configuration information in a buffer memory of the memory controller 620; and determining the second response information based on the second configuration information stored in the buffer memory. The buffer memory is internal hardware with storage capabilities within the memory controller 620, and has a faster read / write speed than the memory device 610. Exemplarily, the type of buffer memory is RAM (Random Access Memory).

[0158] When a configuration request command indicates a request for information in the second configuration information, since the second configuration information is stored in the memory device 610, the memory controller 620 cannot directly determine the second response information. Instead, it needs to first load the second configuration information from the memory device 610 into an internal buffer memory before determining the second response information based on the second configuration information in the buffer memory. The process by which the memory controller 620 loads the second configuration information from the memory device 610 into the internal buffer memory is implemented through interaction with the memory device 610. This interaction process includes: the memory controller 620 sending a read command to the memory device 610, which instructs the memory device 610 to read the second configuration information; the memory device 610 reading the second configuration information based on the read command and sending the second configuration information to the memory controller 620; and the memory controller 620 receiving the second configuration information sent by the memory device 610 and storing the received second configuration information in the buffer memory.

[0159] The read command carries read address information, which indicates the storage location of the second configuration information in the memory device 610. The memory device 610 can read the second configuration information according to the read address information and then send the second configuration information to the memory controller 620. For example, the memory device 610 includes peripheral circuitry and a memory array. The storage location indicated by the read address information refers to a storage location within the memory array. The peripheral circuitry in the memory device 610 can receive the read command, parse the read address information from the read command, and read the second configuration information from the memory array according to the read address information.

[0160] In some embodiments, after receiving the second configuration information, the memory controller 620 stores the second configuration information in a target storage space within the buffer memory. The target storage space refers to a storage space in the buffer memory that does not store data and has a capacity greater than or equal to the storage capacity required by the second configuration information. In some embodiments, the memory controller 620 includes a processor and a management unit; the processor is used to run firmware, and the management unit is used to manage the storage space in the buffer memory. Exemplarily, the memory controller 620 storing the second configuration information in the target storage space within the buffer memory means that the processor in the memory controller 620 stores the second configuration information in the target storage space within the buffer memory.

[0161] Before storing the second configuration information in the target storage space of the buffer memory, the processor sends a storage space request to the management unit. The storage space request carries a target capacity, which is greater than or equal to the storage capacity required by the second configuration information. Based on the storage space request, the management unit determines the target storage space with the target capacity in the storage space of the buffer memory and feeds back the address information of the target storage space to the processor. The processor determines the target storage space based on the address information of the target storage space, and after receiving the second configuration information, stores the second configuration information in the target storage space of the buffer memory.

[0162] After storing the second configuration information in the buffer memory, the memory controller 620 determines the second response information based on the second configuration information stored in the buffer memory. The method by which the memory controller 620 determines the second response information varies depending on the type of configuration information request command.

[0163] When the configuration information request command is of the request-to-read type, the information requested in the second configuration information refers to the information requested to be read from the second configuration information. When the configuration information request command requests to read information from the second configuration information, the memory controller 620 determines the second response information as follows: the memory controller 620 extracts the information requested to be read by the configuration information request command from the second configuration information stored in the buffer memory, and constructs the second response information based on the extracted information. In other words, the second response information includes the information requested to be read by the configuration information request command from the second configuration information stored in the buffer memory.

[0164] The memory controller 620 can determine the information requested to be read by the configuration information request command based on the first identification information carried by the configuration information request command, and then extract the information requested to be read by the configuration information request command from the second configuration information stored in the buffer memory.

[0165] When the configuration information request command is of the request change type, the information requested in the second configuration information refers to the information requested to be changed in the second configuration information. When the configuration information request command indicates a change in the information in the second configuration information, the memory controller 620 determines the second response information as follows: the memory controller 620 modifies the second configuration information stored in the buffer memory based on the configuration information request command to obtain the modified second configuration information; a write command is sent to the memory device 610, instructing the memory device 610 to write the modified second configuration information; the memory device 610 writes the modified second configuration information based on the write command and sends the write result to the memory controller 620; the memory controller 620 determines the second response information based on the write result. In other words, when the configuration information request command indicates a change in the information in the second configuration information, the second response information indicates a write result of writing the modified second configuration information to the memory device 610, and the modified second configuration information is obtained by modifying the second configuration information stored in the buffer memory based on the configuration information request command.

[0166] When a configuration information request command indicates a request to change information in the second configuration information, the configuration information request command carries content indicating how to modify the information to be modified in the second configuration information. The memory controller 620 can then modify the information to be modified in the second configuration information stored in the buffer memory based on the configuration information request command, thereby obtaining the modified second configuration information. The information to be modified in the second configuration information is the same as the corresponding identification information in the second configuration information that is identical to the first identification information carried in the configuration information request command.

[0167] The write command carries the modified second configuration information and write address information, which indicates the write location of the modified second configuration information in the memory device 610. The memory device 610 can write the modified second configuration information based on the write command and then send the write result to the memory controller 620. Exemplarily, the memory device 610 includes peripheral circuitry and a memory array. The peripheral circuitry in the memory device 610 can receive the write command, parse the modified second configuration information and write address information from the write command, and write the modified second configuration information to the write location in the memory array corresponding to the write address information.

[0168] The write result indicates the result of writing the modified second configuration information into the memory device 610. This embodiment does not limit the content of the write result; however, for example, the content may include, but is not limited to, the write status (e.g., write successful or write failed), write address information, and write timestamp. After receiving the write result, the memory controller 620 determines the second response information indicating the write result and sends the second response information to the host.

[0169] This application embodiment does not limit the form of the second response information, as long as it ensures that the host can extract the required information from the second response information, or ensures that the host can know the write result of the modified second configuration information being written to the memory device 610 based on the second response information. For example, the form of the second response information can be a message.

[0170] In some embodiments, the memory controller 620 is configured to: in response to a configuration information request command indicating a request to change information in the second configuration information, verify the configuration information request command, and if the verification is successful, send a second response message. When a configuration information request command indicates a request to change information in the second configuration information, the configuration information request command is first verified, and only after successful verification is the information in the second configuration information changed and the second response message sent to the host, to ensure the security of the information change.

[0171] The method for verifying the configuration information request command can be set based on experience or flexibly adjusted according to the actual scenario. This application embodiment does not limit this.

[0172] In some embodiments, validating a configuration information request command includes at least one of syntax validation or permission validation. If only syntax validation is performed on the configuration information request command, then validating the configuration information request command means that the syntax validation is successful; if only permission validation is performed on the configuration information request command, then validating the configuration information request command means that the permission validation is successful; if both syntax validation and permission validation are performed on the configuration information request command, then validating the configuration information request command means that both syntax validation and permission validation are successful.

[0173] For example, the process of performing syntax validation on a configuration information request command includes: checking the syntax of the configuration information request command according to syntax rules; if the syntax of the configuration information request command conforms to the syntax rules, the syntax validation is determined to be successful; if the syntax of the configuration information request command does not conform to the syntax rules, the syntax validation is determined to be unsuccessful. Syntax rules can be set based on experience or flexibly adjusted according to actual scenarios, and this embodiment does not limit them.

[0174] For example, the process of verifying the permission of the configuration information request command includes: parsing the configuration information request command, determining the host's identification information, determining whether the host has permission to change the second configuration information based on the host's identification information, and passing the permission verification if the host has permission to change the second configuration information, and failing the permission verification if the host does not have permission to change the second configuration information.

[0175] In some embodiments, the memory controller 620 compares the identification information of a device with permission to modify the second configuration information with the identification information of the host. If the identification information of the device with permission to modify the second configuration information includes the host's identification information, then the host is determined to have permission to modify the second configuration information; if the identification information of the device with permission to modify the second configuration information does not include the host's identification information, then the host is determined not to have permission to modify the second configuration information. Exemplarily, the identification information of the device with permission to modify the second configuration information can be recorded in the firmware, and the memory controller 620 can obtain the identification information of the device with permission to modify the second configuration information from the running firmware. Exemplarily, the identification information of the device with permission to modify the second configuration information can be stored in the buffer memory of the memory controller 620, and the memory controller 620 can retrieve the identification information of the device with permission to modify the second configuration information from the buffer memory.

[0176] In some embodiments, if the verification fails, the memory controller 620 may send a verification failure message to the host.

[0177] In some embodiments, the memory controller 620 is further configured to send a third response message corresponding to the configuration information request command to the host when the configuration information request command indicates a request for information in both the first and second configuration information. The third response message is determined by the memory controller 620 through interaction with the memory device 610. The third response message is the response message sent by the memory controller 620 to the host when the configuration information request command indicates a request for information in both the first and second configuration information.

[0178] For example, the process by which the memory controller 620 determines the third response information may include: the memory controller 620 sending a read command to the memory device 610, the read command instructing the memory device 610 to read the second configuration information; the memory device 610 reading the second configuration information based on the read command and sending the second configuration information to the memory controller 620; and the memory controller 620 receiving the second configuration information sent by the memory device 610 and storing the received second configuration information in a buffer memory. When the configuration information request command is of the request read type (i.e., the configuration information request command indicates a request to read information from both the first and second configuration information), the memory controller 620 extracts the information requested to be read by the configuration information request command from the first configuration information recorded in the running firmware, extracts the information requested to be read by the configuration information request command from the second configuration information stored in the buffer memory, and constructs the third response information based on the extracted information.

[0179] When the configuration information request command is of the request change type (i.e., the configuration information request command indicates a request to change information in both the first and second configuration information), the memory controller 620 modifies the second configuration information stored in the buffer memory based on the configuration information request command to obtain the modified second configuration information; it then sends a write command to the memory device 610, instructing the memory device 610 to write the modified second configuration information; the memory device 610 writes the modified second configuration information based on the write command and sends the write result to the memory controller 620; the memory controller 620 determines the third response information based on the write result. In some embodiments, the memory controller 620 may determine the third response information based on the write result by using information including the first and second information as the third response information, where the first information indicates the write result and the second information indicates that there is no permission to modify the information in the first configuration information.

[0180] In some embodiments, the memory controller 620 is configured to: in response to a configuration information request command indicating a request to change information in the first configuration information and information in the second configuration information, verify the configuration information request command, and if the verification is successful, send a third response message.

[0181] In some embodiments, the memory controller 620 sends a reply message (a first reply message, a second reply message, or a third reply message) to the host by sending the reply message to the host through a first interface, which is an interface of the memory controller 620 for communicating with the host.

[0182] This application embodiment does not limit the timing of the memory controller 620 sending reply information (first reply information, second reply information, or third reply information) to the host. For example, the timing of the memory controller 620 sending reply information to the host may be: the memory controller 620 sends the reply information to the host immediately after determining the reply information.

[0183] For example, the memory controller 620 may also send a reply message to the host at the following time: the memory controller 620 sends a reply message to the host in response to receiving a reply command from the host. The host may send a reply command to the memory controller 620 after a certain time interval following the sending of the configuration information request command; this reply command instructs the memory controller 620 to send a reply message.

[0184] In an exemplary embodiment, the operations of determining the response information and sending the response information to the host described above can be performed by the processor of the memory controller 620.

[0185] For example, the process by which the memory controller 620 determines the response information can be as follows: Figure 8 and Figure 9 As shown. Figure 8 The process of determining the response information by the memory controller 620 when the configuration information request command sent by the host to the memory controller 620 is of the request-read type is illustrated. Upon receiving a configuration information request command of the request-read type, the memory controller 620 determines whether the configuration information request command indicates a request to read information from the first configuration information. If the configuration information request command indicates a request to read information from the first configuration information, the memory controller 620 directly determines the response information based on the first configuration information recorded in the firmware; if the configuration information request command does not indicate a request to read information from the first configuration information, the memory controller 620 loads the second configuration information from the memory device 610 into the buffer memory, and determines the response information based on the second configuration information stored in the buffer memory.

[0186] Figure 9The process of determining the response information when the host sends a configuration information request command to the memory controller 620 of type "request for change" is illustrated. Upon receiving a configuration information request command of type "request for change," the memory controller 620 determines whether the command indicates a request to change information in the first configuration information. If the command indicates a request to change information in the first configuration information, the memory controller 620 directly uses information indicating that it does not have permission to change the information as the response information. If the command does not indicate a request to change information in the first configuration information, the memory controller 620 verifies the request. If the verification is successful, the second configuration information is loaded from the memory device 610 into the buffer memory, the second configuration information stored in the buffer memory is modified, the modified second configuration information is written back to the memory device 610, and information indicating the write result is used as the response information.

[0187] For example, the process by which the memory controller 620 sends a response message to the host can be as follows: Figure 10 As shown. The host sends a reply command to the memory controller 620, and the memory controller 620, in response to receiving the reply command, sends reply information to the host.

[0188] In this embodiment, the configuration file is divided into a modifiable part and an immutable part. The modifiable part is loaded separately, while the immutable part is recorded in the firmware. When the host sends a command requesting information from the immutable part, the hardware (e.g., the processor) running the firmware in the memory controller 620 directly responds. When the host sends a command requesting information from the modifiable part, the modifiable part is first loaded into the internal buffer memory, and then the hardware (e.g., the processor) running the firmware responds based on the contents of the buffer memory. Based on this approach, the immutable part is not loaded, and only the modifiable part is loaded. This reduces the need for dynamically requesting large amounts of internal storage resources, significantly reduces dependence on internal storage resources, saves storage resources, reduces conflicts with FTL, and also improves the loading efficiency of the configuration file, thereby improving the utilization efficiency of the configuration file. Furthermore, the immutable part does not need to be rewritten to the memory device 610, which helps reduce the amount of data written to the memory device 610 and extends the lifespan of the memory device 610.

[0189] In this embodiment, the unchangeable content (first configuration information) in the configuration file is recorded in the firmware. After the firmware is running, if the memory controller 620 receives a configuration information request command that requests information in the first configuration information, it can independently determine the reply information according to the running firmware. That is, the process of determining the reply information does not require interaction with the memory device 610, and does not require loading the information in the memory device 610 into the memory controller 620. This is beneficial to improve the efficiency of determining the reply information, thereby improving the efficiency of sending the reply information and improving the efficiency of interaction between the storage system 600 and the host.

[0190] This application provides an operation method for a storage system, the storage system including a memory device and a memory controller coupled to the memory device. The operation method of the storage system can be executed by the memory controller. The memory controller runs firmware, which records first configuration information, the first configuration information being unchangeable content from a configuration file.

[0191] See Figure 11 The operation method of the storage system includes steps 1101 and 1102:

[0192] Step 1101: Receive configuration information request command.

[0193] Step 1102: In response to the configuration information request command indicating the request for information in the first configuration information, send the first response information corresponding to the configuration information request command. The first response information is determined independently by the memory controller.

[0194] In some embodiments, the configuration information request command indicates a request to read information from first configuration information, and the first response information includes the information in the first configuration information requested to be read by the configuration information request command; or...

[0195] The configuration information request command indicates a request to change information in the first configuration information, and the first response information indicates that there is no permission to change information in the first configuration information.

[0196] In some embodiments, the memory device stores second configuration information, which is modifiable content in a configuration file; the operation method of the memory system further includes: in response to a configuration information request command indicating a request for information in the second configuration information, sending second response information corresponding to the configuration information request command, wherein the second response information is determined by the memory controller through interaction with the memory device.

[0197] In some embodiments, the method of operating the storage system further includes: in response to a configuration information request command indicating that information in the second configuration information is requested, sending a read command to a memory device, the read command instructing the memory device to read the second configuration information; receiving the second configuration information sent by the memory device, storing the received second configuration information in a buffer memory of the memory controller; and determining second response information based on the second configuration information stored in the buffer memory.

[0198] In some embodiments, the configuration information request command indicates a request to read information in the second configuration information, and the second response information includes the information in the second configuration information stored in the buffer memory that was requested to be read by the configuration information request command; or, the configuration information request command indicates a change to information in the second configuration information, and the second response information indicates a write result of writing the changed second configuration information to the memory device, and the changed second configuration information is obtained by changing the second configuration information stored in the buffer memory based on the configuration information request command.

[0199] In some embodiments, in response to a configuration information request command indicating a request for information in the second configuration information, sending a second response message corresponding to the configuration information request command includes: in response to a configuration information request command indicating a request to change information in the second configuration information, verifying the configuration information request command, and sending the second response message if the verification is successful.

[0200] In some embodiments, the configuration information request command carries first identification information, which is used to identify the information to be requested by the configuration information request command; the configuration information request command indicates that the information in the first configuration information is requested, including: the first identification information matches the identification information corresponding to the information in the first configuration information.

[0201] In some embodiments, the configuration file includes a TCG configuration file.

[0202] The description of the above embodiments of the operation method of the storage system has similar beneficial effects to the aforementioned hardware embodiments of the storage system. For technical details not disclosed in the embodiments of the above operation method of the storage system, please refer to the description of the aforementioned hardware embodiments of the storage system in this application for understanding; they will not be repeated here.

[0203] This application provides an electronic system, such as... Figure 12 As shown, the electronic system 1200 includes a host 1210 and a storage system 1220 coupled to the host 1210. The storage system 1220 includes a memory device 1221 and a memory controller 1222 coupled to the memory device 1221. The host 1210 can be the aforementioned... Figure 1 The host 101 and storage system 1220 can be the above-mentioned Figure 1and Figure 5 The storage system 102 in the above-mentioned Figure 6 The storage system 600 and memory device 1221 can be as described above. Figures 1 to 5 The memory device 103 in the above-mentioned memory device 103 or the ... Figure 6 The memory device 610 and memory controller 1222 can be the above-mentioned memory device 610. Figures 1 to 3 , Figure 5 The memory controller 104 in the above, or the memory controller 104 in the above. Figure 6 The memory controller 620 in the memory.

[0204] The memory controller 1222 runs firmware, which records first configuration information, which is content that cannot be changed in the configuration file.

[0205] The host 1210 is configured to send a configuration information request command to the memory controller 1222; the memory controller 1222 is configured to receive the configuration information request command, and in response to the configuration information request command indicating the request for information in the first configuration information, send a first reply information corresponding to the configuration information request command to the host 1210, the first reply information being independently determined by the memory controller 1222; the host 1210 is also configured to receive the first reply information.

[0206] In some embodiments, the configuration information request command indicates a request to read information in the first configuration information, and the first response information includes the information in the first configuration information that the configuration information request command requests to read; or, the configuration information request command indicates a request to change information in the first configuration information, and the first response information indicates that there is no permission to change the information in the first configuration information.

[0207] In some embodiments, the memory device 1221 stores second configuration information, which is the content that can be modified in the configuration file; the memory controller 1222 is also configured to send a second response information corresponding to the configuration information request command to the host 1210 in response to the configuration information request command indicating that the information in the second configuration information is requested, the second response information being determined by the memory controller 1222 through interaction with the memory device 1221; the host 1210 is also configured to receive the second response information.

[0208] In some embodiments, the memory controller 1222 is further configured to send a read command to the memory device 1221 in response to a configuration information request command indicating that information in the second configuration information is requested, the read command instructing the memory device 1221 to read the second configuration information; the memory device 1221 is configured to read the second configuration information based on the read command and send the second configuration information to the memory controller 1222; the memory controller 1222 is further configured to receive the second configuration information sent by the memory device 1221, store the received second configuration information in a buffer memory of the memory controller 1222; and determine second response information based on the second configuration information stored in the buffer memory.

[0209] In some embodiments, the configuration information request command indicates a request to read information in the second configuration information, and the second response information includes the information in the second configuration information stored in the buffer memory that was requested to be read by the configuration information request command; or, the configuration information request command indicates a change to the information in the second configuration information, and the second response information indicates a write result of writing the changed second configuration information to the memory device 1221, and the changed second configuration information is obtained by changing the second configuration information stored in the buffer memory based on the configuration information request command.

[0210] In some embodiments, the memory controller 1222 is further configured to, in response to a configuration information request command instructing a request to change information in the second configuration information, modify the second configuration information stored in the buffer memory based on the configuration information request command to obtain the modified second configuration information; send a write command to the memory device 1221, the write command instructing the memory device 1221 to write the modified second configuration information; the memory device 1221 is further configured to, based on the write command, write the modified second configuration information and send a write result to the memory controller 1222; the memory controller 1222 is further configured to, based on the write result, determine a second response information.

[0211] In some embodiments, the memory controller 1222 is further configured to verify the configuration information request command in response to a configuration information request command indicating a request to change information in the second configuration information, and send a second response message to the host 1210 if the verification is successful.

[0212] In some embodiments, the configuration information request command carries first identification information, which is used to identify the information to be requested by the configuration information request command; the configuration information request command indicates that the information in the first configuration information is requested, including: the first identification information matches the identification information corresponding to the information in the first configuration information.

[0213] In some embodiments, the configuration file includes a TCG configuration file.

[0214] The hardware embodiments of the electronic systems described above have similar beneficial effects to the hardware embodiments of the aforementioned storage systems. For technical details not disclosed in the hardware embodiments of the electronic systems above, please refer to the description of the hardware embodiments of the aforementioned storage systems in this application for understanding; they will not be repeated here.

[0215] This application provides a non-transitory computer-readable storage medium storing firmware, which is loaded and executed by a memory controller in a storage system to enable the memory controller to implement the aforementioned storage system operation method.

[0216] In some embodiments, a non-transitory computer-readable storage medium may be a magnetic random access memory (FRAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM), etc.; a non-transitory computer-readable storage medium may also include a combination of the above-mentioned storage media.

[0217] In some embodiments, firmware may take the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0218] It should be understood that "multiple" as used in this article refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0219] The above description is merely an exemplary embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the protection scope of this application.

Claims

1. A storage system, characterized in that, The storage system includes a memory device and a memory controller coupled to the memory device; the memory controller runs firmware, which records first configuration information, the first configuration information being unchangeable content in a configuration file; The memory controller is configured to: Receive configuration information request command; In response to the configuration information request command indicating a request for information in the first configuration information, a first response message corresponding to the configuration information request command is sent, wherein the first response message is determined independently by the memory controller.

2. The storage system according to claim 1, characterized in that, The configuration information request command indicates a request to read information from the first configuration information, and the first response information includes the information in the first configuration information that was requested to be read by the configuration information request command. or, The configuration information request command indicates a request to change information in the first configuration information, and the first response information indicates that there is no permission to change information in the first configuration information.

3. The storage system according to claim 1, characterized in that, The memory device stores second configuration information, which is the changeable content in the configuration file. The memory controller is also configured to: In response to the configuration information request command indicating a request for information in the second configuration information, the memory controller sends a second response message corresponding to the configuration information request command. The second response message is determined by the memory controller through interaction with the memory device.

4. The storage system according to claim 3, characterized in that, The memory controller is also configured to: In response to the configuration information request command indicating a request for information in the second configuration information, a read command is sent to the memory device, the read command instructing the memory device to read the second configuration information; The system receives the second configuration information sent by the memory device and stores the received second configuration information in the buffer memory of the memory controller. The second response information is determined based on the second configuration information stored in the buffer memory.

5. The storage system according to claim 4, characterized in that, The configuration information request command indicates a request to read information from the second configuration information, and the second response information includes the information in the second configuration information stored in the buffer memory that was requested to be read by the configuration information request command; or, The configuration information request command indicates that the information in the second configuration information be changed, and the second response information indicates that the changed second configuration information be written to the memory device as a write result. The changed second configuration information is obtained by changing the second configuration information stored in the buffer memory based on the configuration information request command.

6. The storage system according to any one of claims 3 to 5, characterized in that, The memory controller is configured to: In response to the configuration information request command indicating a request to change information in the second configuration information, the configuration information request command is verified, and if the verification is successful, the second response information is sent.

7. The storage system according to any one of claims 1 to 5, characterized in that, The configuration information request command carries first identification information, which is used to identify the information to be requested by the configuration information request command. The configuration information request command indicates a request for information in the first configuration information, including: matching the first identification information with the identification information corresponding to the information in the first configuration information.

8. The storage system according to any one of claims 1 to 5, characterized in that, The configuration file includes the Trusted Computing Group (TCG) configuration file.

9. A method for operating a storage system, characterized in that, The storage system includes a memory device and a memory controller coupled to the memory device; the memory controller runs firmware, which records first configuration information, the first configuration information being unchangeable content in a configuration file; the method includes: Receive configuration information request command; In response to the configuration information request command indicating a request for information in the first configuration information, a first response message corresponding to the configuration information request command is sent, wherein the first response message is determined independently by the memory controller.

10. The method according to claim 9, characterized in that, The configuration information request command indicates a request to read information from the first configuration information, and the first response information includes the information in the first configuration information that was requested to be read by the configuration information request command. or, The configuration information request command indicates a request to change information in the first configuration information, and the first response information indicates that there is no permission to change information in the first configuration information.

11. The method according to claim 9, characterized in that, The memory device stores second configuration information, which is the changeable content in the configuration file. The method further includes: In response to the configuration information request command indicating a request for information in the second configuration information, the memory controller sends a second response message corresponding to the configuration information request command. The second response message is determined by the memory controller through interaction with the memory device.

12. The method according to claim 11, characterized in that, The method further includes: In response to the configuration information request command indicating a request for information in the second configuration information, a read command is sent to the memory device, the read command instructing the memory device to read the second configuration information; The system receives the second configuration information sent by the memory device and stores the received second configuration information in the buffer memory of the memory controller. The second response information is determined based on the second configuration information stored in the buffer memory.

13. The method according to claim 12, characterized in that, The configuration information request command indicates a request to read information from the second configuration information, and the second response information includes the information in the second configuration information stored in the buffer memory that was requested to be read by the configuration information request command; or, The configuration information request command indicates that the information in the second configuration information be changed, and the second response information indicates that the changed second configuration information be written to the memory device as a write result. The changed second configuration information is obtained by changing the second configuration information stored in the buffer memory based on the configuration information request command.

14. The method according to any one of claims 11 to 13, characterized in that, The step of responding to the configuration information request command by requesting information in the second configuration information, and sending the second response information corresponding to the configuration information request command, includes: In response to the configuration information request command indicating a request to change information in the second configuration information, the configuration information request command is verified, and if the verification is successful, the second response information is sent.

15. The method according to any one of claims 9 to 13, characterized in that, The configuration information request command carries first identification information, which is used to identify the information to be requested by the configuration information request command. The configuration information request command indicates a request for information in the first configuration information, including: matching the first identification information with the identification information corresponding to the information in the first configuration information.

16. The method according to any one of claims 9 to 13, characterized in that, The configuration file includes the Trusted Computing Group (TCG) configuration file.

17. An electronic system, characterized in that, The electronic system includes: Host; The host computer is coupled to a storage system; the storage system includes a memory device and a memory controller coupled to the memory device; the memory controller runs firmware, which records first configuration information, which is unchangeable content in a configuration file. The host is configured to send a configuration information request command to the memory controller; The memory controller is configured to receive the configuration information request command, and in response to the configuration information request command indicating a request for information in the first configuration information, send a first response information corresponding to the configuration information request command to the host, wherein the first response information is determined independently by the memory controller; The host is also configured to receive the first reply information.

18. The electronic system according to claim 17, characterized in that, The configuration information request command indicates a request to read information from the first configuration information, and the first response information includes the information in the first configuration information that was requested to be read by the configuration information request command. or, The configuration information request command indicates a request to change information in the first configuration information, and the first response information indicates that there is no permission to change information in the first configuration information.

19. The electronic system according to claim 17, characterized in that, The memory device stores second configuration information, which is the changeable content in the configuration file. The memory controller is further configured to send a second response message corresponding to the configuration information request command to the host in response to the configuration information request command indicating that the information in the second configuration information is requested. The second response message is determined by the memory controller through interaction with the memory device. The host is also configured to receive the second response information.

20. The electronic system according to claim 19, characterized in that, The memory controller is further configured to send a read command to the memory device in response to the configuration information request command indicating that the information in the second configuration information is requested, the read command instructing the memory device to read the second configuration information; The memory device is configured to read the second configuration information based on the read command and send the second configuration information to the memory controller; The memory controller is further configured to receive the second configuration information sent by the memory device and store the received second configuration information in the buffer memory of the memory controller; The second response information is determined based on the second configuration information stored in the buffer memory.

21. The electronic system according to claim 20, characterized in that, The configuration information request command indicates a request to read information from the second configuration information, and the second response information includes the information in the second configuration information stored in the buffer memory that was requested to be read by the configuration information request command; or, The configuration information request command indicates that the information in the second configuration information be changed, and the second response information indicates that the changed second configuration information be written to the memory device as a write result. The changed second configuration information is obtained by changing the second configuration information stored in the buffer memory based on the configuration information request command.

22. The electronic system according to claim 21, characterized in that, The memory controller is further configured to, in response to the configuration information request command indicating a request to change information in the second configuration information, modify the second configuration information stored in the buffer memory based on the configuration information request command to obtain the modified second configuration information; Send a write command to the memory device, the write command instructing the memory device to write the modified second configuration information; The memory device is also configured to write the modified second configuration information based on the write command and send the write result to the memory controller; The memory controller is also configured to determine the second response information based on the write result.

23. The electronic system according to any one of claims 19 to 22, characterized in that, The memory controller is further configured to, in response to the configuration information request command indicating a request to change information in the second configuration information, verify the configuration information request command, and, if the verification is successful, send the second response information to the host.

24. The electronic system according to any one of claims 17 to 22, characterized in that, The configuration information request command carries first identification information, which is used to identify the information to be requested by the configuration information request command. The configuration information request command indicates a request for information in the first configuration information, including: matching the first identification information with the identification information corresponding to the information in the first configuration information.

25. The electronic system according to any one of claims 17 to 22, characterized in that, The configuration file includes the Trusted Computing Group (TCG) configuration file.

26. A non-transitory computer-readable storage medium, characterized in that, The non-transitory computer-readable storage medium stores firmware, which is loaded and executed by a memory controller in the storage system to enable the memory controller to implement the operation method of the storage system as described in any one of claims 9 to 16.