Storage Controller and 3D Stacked Memory

By introducing a bad unit management module into the memory controller, dynamically remapping the address range of the memory stack, the problems of data reliability and flexible adaptation of DRAM and other memories in large throughput scenarios are solved, and flexible configuration and resource optimization of three-dimensional stacked memory in different usage scenarios are realized.

CN120164514BActive Publication Date: 2025-07-22BEIJING QINGYUN TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510645190.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-19
Publication Date
2025-07-22
Estimated Expiration
2045-05-19

AI Technical Summary

Technical Problem

The prior art is difficult to ensure the data reliability of DRAM and other memory in large throughput scenarios, and it is impossible to flexibly adapt to the needs of multiple usage scenarios after the memory leaves the factory.

Method used

A storage controller is provided that by coupling between the main device and the memory stack, the bad unit management module dynamically remaps the address range of the memory stack according to the current configuration mode and the quality and bad information of the memory unit to support the needs of different usage scenarios.

Benefits of technology

It realizes flexible configuration of three-dimensional stacked memory for different usage scenarios after leaving the factory, supports users to decide to maintain capacity or bandwidth during use, and improves the data reliability and resource utilization efficiency of the memory.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120164514B_ABST
    Figure CN120164514B_ABST
Patent Text Reader

Abstract

The present invention provides a storage controller and a three-dimensional stacked memory, which can implement a dynamic remapping relationship between the address range of good memory cells in the storage area to be accessed of the memory stack and multiple host device interfaces according to the change of the current configuration mode and the current good / bad information of each memory cell in the storage area to be accessed of the memory stack. Thus, after the three-dimensional stacked memory is shipped and applied, it can still support the user's demand for flexible adjustment of the three-dimensional stacked memory, and further meet the user's demand for various usage scenarios. For example, it supports the user to decide whether to preserve capacity or bandwidth during the use of the memory, so that the user can adapt to different usage scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of memories, and particularly to a storage controller and a three-dimensional stacked memory. Background Art

[0002] Memories such as Dynamic Random Access Memory (DRAM) are widely used in scenarios such as consumer electronics, data centers, automotive electronics, and industrial applications. Among them, DRAM has the advantages of high bandwidth and large capacity and is widely used in scenarios that require fast reading and writing.

[0003] Currently, how to ensure the data reliability of memories such as DRAM in scenarios with high throughput, and how to perform dynamic adjustment during long-term use to enable memories such as DRAM to flexibly adapt to different usage scenarios are one of the hot topics concerned by those skilled in the art.

[0004] In the prior art, generally, the yield of memories is improved by enhancing the manufacturing process of memories and performing bad point detection through Built-In Self-Test (BIST) before leaving the factory and replacing bad points (error bits) or bad addresses (i.e., redundancy repair). Among them, the method of replacing bad cells (i.e., redundancy repair) through BIST before leaving the factory is generally implemented in the test stage before leaving the factory (such as the CP test of wafers). Memory manufacturers add redundant resources (such as a redundant array composed of redundant word lines redundancy WL and redundant bit lines redundancy BL) in memory chips using redundant resources. When the BIST test detects bad points (error bits) in the memory, the redundant resources in the memory can be used to replace these bad points (error bits) by means of electro-fusing or laser repair, thereby increasing the number of effective wafers.

[0005] However, these methods are all carried out by memory manufacturers before leaving the factory and generally cannot be applied to the usage process after the memory leaves the factory, making it difficult to meet the user's demand for flexibly adjusting the memory resources utilized in various usage scenarios. Summary of the Invention

[0006] The purpose of the present invention is to provide a storage controller and a three-dimensional stacked memory, which can improve the flexible configuration ability of the three-dimensional stacked memory after leaving the factory and enable it to meet the user's needs for various usage scenarios.

[0007] To achieve the above object, the present invention provides a storage controller, which is coupled between a host device and a memory stack. The memory stack includes a plurality of memory dies, each memory die includes a plurality of memory cells, and the storage controller includes:

[0008] A plurality of host device interfaces for communicating with the host device, wherein each host device interface is a multi-IO parallel interface;

[0009] A bad cell management module, coupled to the plurality of host device interfaces, and configured to map the address ranges of the corresponding good memory cells in the to-be-accessed storage area of the memory stack to the corresponding host device interfaces according to the current configuration mode and the current good / bad information of each memory cell in the to-be-accessed storage area;

[0010] Wherein, the storage controller provides multiple configuration modes for different usage scenarios, the current configuration mode is selected from the multiple configuration modes, and the mapping relationship between the address ranges of the good memory cells in the to-be-accessed storage area and the plurality of host device interfaces changes with the change of the current configuration mode.

[0011] Optionally, the number of the plurality of host device interfaces is m, m is an integer greater than 1, and the configuration modes include at least two of the following (1) to (3):

[0012] (1) Bandwidth priority mode: m host device interfaces are used simultaneously, and the bad cell management module maps the address ranges of all good memory cells in the to-be-accessed storage area to each host device interface in an evenly distributed manner by dividing the address ranges of all good memory cells in the to-be-accessed storage area by m;

[0013] (2) Capacity priority mode: Each host device interface is used separately, and the bad cell management module maps the address ranges of all good memory cells in the to-be-accessed storage area to the m host device interfaces correspondingly, so that all good memory cells in the to-be-accessed storage area can be accessed by the host device;

[0014] (3) Bandwidth and capacity balance mode: a host device interfaces are used simultaneously, b host device interfaces are used separately, and a + b = m. Wherein, the bad cell management module maps the address ranges of all good memory cells in the to-be-accessed storage area to the m host device interfaces correspondingly, and the address ranges of the good memory cells mapped by the a host device interfaces are of the same size.

[0015] Optionally, in the capacity priority mode, on the premise of not exceeding the maximum limit of the host device interface, the bad cell management module centrally maps the address ranges of the bad memory cells in the to-be-accessed storage area to the same host device interface;

[0016] And / or, in the bandwidth and capacity balance mode, the bad cell management module maps the address ranges of all bad storage cells in the storage area to be accessed to at least one of the b master device interfaces.

[0017] Optionally, the bad cell management module includes a recording unit for storing the current good / bad information; and / or, the memory die is a DRAM die, and the master device interface is an AXI interface or a CHI interface or an AHB interface.

[0018] Optionally, the current good / bad information includes the number and address ranges of the good storage cells and the number and address ranges of the bad storage cells in the storage area to be accessed, and the current good / bad information is obtained based on the bad point address information of the memory stack at the time of factory, or based on the bad point address information updated on the basis of the bad point address information of the memory stack at the time of factory; wherein the bad point address information of the memory stack at the time of factory is obtained from the bad point test performed on the memory stack before factory.

[0019] Optionally, the manner in which the bad cell management module updates the bad point address information on the basis of the bad point address information of the memory stack at the time of factory includes at least one of the following (1) to (2):

[0020] (1) When the number of error occurrences at a certain storage address or a certain block of storage addresses exceeds the threshold during the use of the memory stack, the certain storage address or the certain block of storage addresses is taken as a new bad point address to update the bad point address information on the basis of the bad point address information of the memory stack at the time of factory;

[0021] (2) The bad cell management module further includes a built-in self-test unit. After the memory stack leaves the factory, the built-in self-test unit performs a built-in self-test on the memory stack to detect new bad point addresses generated in the memory stack, and then updates the bad point address information on the basis of the bad point address information of the memory stack at the time of factory.

[0022] Optionally, after updating the bad point address information, the bad cell management module is further configured to determine whether the number of unfixed bad point addresses included in the storage cell where the new bad point address is located is greater than or equal to the corresponding threshold. If so, the storage cell where the new bad point address is located is marked as a bad storage cell to update the current good / bad information. If not, the storage cell where the new bad point address is located remains a good storage cell;

[0023] Wherein, when the new bad storage cell is marked, the current good / bad information is updated.

[0024] Optionally, each of the storage units is configured with redundant resources; the bad cell management module is further configured to, after obtaining a new bad point address and determining whether the number of unfixed bad point addresses included in the storage unit where the new bad point address is located is greater than or equal to a corresponding threshold, first determine whether the new bad point address can be redundantly repaired using the corresponding redundant resources, and if so, perform redundant repair on the new bad point address using the corresponding redundant resources.

[0025] Optionally, the storage controller is disposed on the buffer die, the master device is located on the logic die, and the logic die and the buffer die are integrated in the same plane or integrated together in a three-dimensional stack.

[0026] Optionally, the multiple memory dies in the memory stack are stacked in a three-dimensional stack, and the buffer die is stacked and integrated with the memory stack using through-silicon vias.

[0027] Optionally, the bad cell management module further includes a mode register for configuring the multiple configuration modes and selecting the current configuration mode from the multiple configuration modes.

[0028] Optionally, the memory stack is divided into multiple storage areas, the multiple memory dies in each storage area share row addresses and column addresses, and each storage area serves as a sub-storage system and corresponds to a set of the multiple master device interfaces and a bad cell management module to implement sub-system management of the memory stack.

[0029] Based on the same inventive concept, the present invention further provides a three-dimensional stacked memory, which includes a stacked memory stack and a storage controller as described in the present invention, the storage controller is disposed on the buffer die, and the stacked memory stack includes multiple three-dimensionally stacked memory dies, wherein the multiple three-dimensionally stacked memory dies and between them and the buffer die are hybrid bonded using through-silicon vias.

[0030] Compared with the prior art, the storage controller and the three-dimensional stacked memory provided by the present invention can implement a dynamic remapping relationship between the address ranges of all good storage units in the storage area to be accessed of the memory stack body and multiple master device interfaces according to the current configuration mode and the change of the good or bad information of each storage unit in the storage area to be accessed of the memory stack body (which can be the storage area commonly used by users). Thus, after the three-dimensional stacked memory is shipped and applied, it can still support the user's flexible adjustment requirements for the three-dimensional stacked memory, and further meet the user's requirements for various usage scenarios. For example, it supports the user to decide whether to preserve capacity or bandwidth during the use of the three-dimensional stacked memory, so that the user can adapt to different usage scenarios; for another example, it supports the usage scenario where the user only accesses one or several storage areas of the three-dimensional stacked memory and does not access other storage areas.

[0031] Furthermore, the storage controller can also support the user to perform built-in self-test on the three-dimensional stacked memory after it is shipped and mark bad the newly discovered bad storage units, so that the user can have real-time control over the health status of the three-dimensional stacked memory, and then change the current configuration method in a timely manner according to the need. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Those of ordinary skill in the art will understand that the provided drawings are used to better understand the present invention and do not constitute any limitation to the scope of the present invention. Among them:

[0033] Figure 1 is a schematic diagram of the architecture of the storage controller and the three-dimensional stacked memory according to an embodiment of the present invention.

[0034] Figure 2 is a schematic diagram of an application example of the storage controller and the three-dimensional stacked memory according to an embodiment of the present invention.

[0035] Figure 3 is a schematic diagram of the package structure of the storage controller and the three-dimensional stacked memory according to an embodiment of the present invention.

[0036] Figure 4 is a schematic diagram of the partition management application of the storage controller and the three-dimensional stacked memory according to an embodiment of the present invention.

[0037] Figure 5 is a schematic diagram of the structure of a storage unit unit in the storage controller and the three-dimensional stacked memory according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0038] In the following description, numerous specific details are given to provide a more thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that the present invention may be practiced without one or more of these details. In other instances, well-known features of the art are not described in order to avoid obscuring the present invention. It should be understood that the present invention can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. On the contrary, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present invention to those skilled in the art. Like reference numerals refer to like elements throughout. It should be understood that when an element is referred to as being "connected to" or "coupled to" another element, it can be directly connected to the other element or intervening elements may be present. In contrast, when an element is referred to as being "directly connected to" another element, there are no intervening elements. As used herein, the singular forms "a," "an," and "the" are also intended to include the plural forms unless the context clearly dictates otherwise. It should also be understood that the term "comprising" is used to identify the presence of features, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups. As used herein, the term "and / or" includes any and all combinations of the associated listed items.

[0039] Please refer to Figure 1 , this embodiment provides a storage controller 2, which is coupled between a master device (Master, i.e., the device accessing the memory) 1 and a memory stack 3. The storage controller 2 can perform interface conversion to convert commands such as read and write issued by the master device 1 into signals recognizable by the memory stack 3, and complete the conversion of address decoding and data format (such as data bit width) between the master device 1 and the memory stack 3, thereby realizing the necessary control for accessing the memory stack 3 (including the control of address signals, data signals, and various command signals), enabling the master device 1 to access (or "use") the good memory cells in the to-be-accessed storage area of the memory stack 3 according to the needs of the user. The storage controller 2 can be integrated with the memory stack 3 to form a system-level memory chip, or can be independent of the chip of the memory stack 3 as a separate logic chip, or can be integrated with the master device 1 to form a logic chip, or the memory controller 2, the master device 1, and the memory stack 3 can be integrated together to form a system-level logic chip. The present invention does not make specific limitations on this.

[0040] Among them, the master device 1 may include any type of processor device with computing and processing capabilities, such as a central processing unit (CPU), a digital signal processor (DSP), a network processor, an application processor (AP), a field programmable gate array (FPGA), a dedicated processor, etc. The processor device may be configured to execute instructions or software (including code, operating system, or application program, etc.), firmware, or a combination thereof that can be executed by one or more computers.

[0041] Please refer to Figures 1 to 5 , the storage controller 2 of this embodiment includes a bad cell management module 21 and m master device interfaces 20_0~20_m-1, and the memory stack 3 includes k + 1 memory dies 300~30k. Each memory die 300~30k includes a plurality of storage units unit. Among them, k≥1, m≥2 and both k and m are integers.

[0042] In the memory stack 3, each storage unit includes a plurality of cells determined by the intersection of a plurality of word lines WL and a plurality of bit lines BL. Each cell corresponds to a storage address. A cell address can be a 1-bit storage address and is determined by a corresponding word line WL and a bit line BL of the memory stack 3. A bad cell is a bad point. Each storage unit unit in the memory stack 3 has a plurality of storage addresses. The storage controller 2 can manage the access to the memory stack 3 from the cell level (a cell address is a 1-bit storage address, and a bad cell is a bad point) to the storage unit (unit) level.

[0043] Among them, the master device interfaces 20_0 to 20_m-1 are used for communication connection with the master device 1 to implement interface conversion between the master device 1 and the memory stack 3, receive commands from the master device 1 and data to be written into the memory, and return the data read by the master device 1, etc., so as to achieve high bandwidth. The master device interfaces 20_0 to 20_m-1 can be any suitable parallel high-speed communication protocol interface that supports multiple IOs. For example, it is an AXI (Advanced eXtensible Interface) interface or the like. Among them, the AXI interface is an on-chip bus interface for a master-slave architecture oriented to high performance, high bandwidth, and low latency. Its address, instruction, and data phases are separated, supporting unaligned data transmission. At the same time, in burst transmission, only the first address is required, and the separated read and write data channels support Outstanding (number of outstanding transactions) transmission access and out-of-order access, and it is easier to perform timing convergence, which is suitable for high-speed memory access. It should be noted that although the AXI protocol is shown in the specification drawings, the present invention is not limited thereto. The master device interfaces 20_0 to 20_m-1 can also adopt any other suitable high-bandwidth interface protocol, such as the AHB (Advanced High-performance Bus) protocol or the CHI (Coherent Hub Interface) protocol, etc.

[0044] The bad cell management module 21 is coupled to the m master device interfaces 20_0 to 20_m-1 and is used to allocate the address ranges of all good memory cells in the to-be-accessed storage area of the memory stack 3 in a suitable manner according to the current configuration mode and the current good or bad information (also referred to as "current good and bad cell information") of each memory cell in the to-be-accessed storage area of the memory stack 3, and map them to the m master device interfaces 20_0 to 20_m-1, so that when the master device 1 reads or writes to the memory stack 3, the storage controller 2 can implement address decoding between the master device 1 and the to-be-accessed storage area of the memory stack 3. Among them, the current good or bad information of the to-be-accessed storage area includes the number and address range of the current good memory cells and the number and address range of the bad memory cells in the to-be-accessed storage area. The current good or bad information can be visualized to the user through the bad cell management module 21.

[0045] Please refer to Figure 3, in the memory stack 3, k + 1 memory dies 300 to 30k can be stacked three-dimensionally or integrated on the same plane. Each memory die can be a DRAM or any other suitable type of memory die structure. Among them, the DRAM can be any one of, for example, synchronous DRAM (SDRAM), wide I / O DRAM, etc. The memory stack 3 can be implemented as an unbuffered dual in-line memory module (UDIMM), a registered DIMM (RDIMM), a load-reduced DIMM (LRDIMM), a fully buffered DIMM (FBDIMM), a small outline DIMM (SODIMM), etc.

[0046] Optionally, please refer to Figure 4 , and in combination with Figures 2 to 3 , the memory stack 3 is divided into s storage areas, where s is an integer and s ≥ 2. Each storage area serves as a sub-storage system (Subsystem), and each corresponds to a set of master device interfaces (i.e., m master device interfaces) and a bad cell management module 21, thereby realizing the sub-system management of the memory stack 3 by the memory controller 2. Alternatively, the memory stack 3 is divided into s storage areas, where s is an integer and s ≥ 2. Each storage area serves as a sub-storage system, and each is provided with a memory controller 2 of this embodiment as shown in Figure 1 . Each memory controller 2 has a set of master device interfaces (i.e., m master device interfaces) and a bad cell management module 21, thereby realizing the sub-system management of the memory stack 3 (or, realizing the sub-system management of the three-dimensionally stacked memory).

[0047] The bad cell management module 21 can perform bad cell management on the memory stack 3 by storage area and map the address range of the storage area to be accessed and the master device interface. The storage area to be accessed currently managed by the bad cell management module 21 is one of the numerous storage areas of the memory stack 3. The capacities of the numerous storage areas of the memory stack 3 can be balanced or can be personalized configured according to user usage requirements, so that the capacity of at least one storage area among the numerous storage areas of the memory stack 3 is different from that of other storage areas. In one example, the storage area to be accessed currently managed by the bad cell management module 21 can be a certain storage area that the user accesses the memory stack 3 for a long time, and the user does not access other storage areas of the memory stack 3 to meet the needs of some application scenarios.

[0048] In addition, the k + 1 memory dies in the memory stack 3 each have a corresponding memory array, and the memory arrays of these memory dies are of the same size. Each storage unit unit can be any suitable management unit at a level higher than the cell level, such as a block or a sector or a page of the memory stack 3. Each storage area (i.e., subsystem) can be a logical bank (BANK) or a physical bank (RANK) of the memory stack 3. The memory dies in each layer of each storage unit can share row addresses, column addresses, address strobes, write enables, etc. Among them, a page contains multiple bytes (whose address range can be determined by multiple word lines and multiple bit lines), a sector contains multiple pages, and a storage block contains multiple sectors.

[0049] In one example, please refer to Figure 2 , s = 4, m = 4, k = 7, that is, each layer of memory die has 80 storage units unit, which are distributed in 4 storage areas 30 - 33. Each storage area has 20 storage units unit. Each storage area is coupled to a bad cell management module 21, and the bad cell management module 21 is coupled to 4 master device interfaces. The memory stack 3 and the storage controller 2 are encapsulated in the same package. Adjacent layers of memory dies are connected through through-silicon vias (TSVs). The length of the package is L, and the width is W. The 4 master device interfaces in each storage area are arranged in an area at a distance d1 from the long side of the package, a distance d2 from the wide side of the package, a distance d3 from the adjacent storage area in the transverse direction, and a distance d5 from the adjacent storage area in the longitudinal direction. The transverse spacing between adjacent master device interfaces in the same storage area is d4. d1 - d5 are all greater than 0 and can be any suitable values according to design requirements. The present invention does not make specific limitations on this.

[0050] The storage controller 2 of this embodiment can provide multiple configuration modes (for example, 2 or more than 2) to cope with different usage scenarios, for the user to select one of them according to their current usage scenario requirements as the current configuration mode.

[0051] Optionally, the storage controller 2 of this embodiment can provide configuration modes including at least two of the following (1) - (3):

[0052] (1) Bandwidth - priority mode: m master device interfaces 20_0~20_m - 1 are used simultaneously. The bad cell management module 21 divides the address range of all current good memory cells in the to - be - accessed storage area of the memory stack 3 by m, and then maps the address range of all current good memory cells in the to - be - accessed storage area of the memory stack 3 to each of the master device interfaces 20_0~20_m - 1 in an evenly - distributed manner, achieving an even distribution of the address ranges of the m master device interfaces 20_0~20_m - 1. In this way, the master device interfaces 20_0~20_m - 1 can receive the same instruction simultaneously and have the same - sized address ranges, ensuring maximum bandwidth. Among them, if it can be divided exactly, the master device interfaces 20_0~20_m - 1 evenly distribute the address range of all current good memory cells in the to - be - accessed storage area of the memory stack 3. If it cannot be divided exactly, the addresses of the good memory cells corresponding to the remainder can be left idle (i.e., not allocated), and the memory cells corresponding to the remainder will not be used in this mode.

[0053] (2) Capacity - priority mode: Each of the master device interfaces 20_0~20_m - 1 is used separately, and the bad cell management module 21 allocates and maps the address range of all good memory cells in the to - be - accessed storage area of the memory stack 3 to the m master device interfaces 20_0~20_m - 1 accordingly, so that all good memory cells in the to - be - accessed storage area of the memory stack 3 can be accessed by the master device 1. Further optionally, in this capacity - priority mode, on the premise of not exceeding the maximum limit of the master device interface, the bad cell management module 21 centrally maps the address range of the bad memory cells in the to - be - accessed storage area of the memory stack 3 to the same master device interface among the master device interfaces 20_0~20_m - 1. For example, please refer to Figure 2 , the storage controller 2 has 4 master device interfaces, namely 20_0~20_3. The address ranges mapped by the master device interfaces 20_0~20_2 are all good memory cells in the to - be - accessed storage area of the memory stack 3, and the address range of the bad memory cells in the to - be - accessed storage area of the memory stack 3 is centrally mapped to the master device interface 20_3, so that there are only 2 good memory cells in the master device interface 20_3. However, in this capacity - priority mode, all good memory cells in the to - be - accessed storage area of the memory stack 3 will be accessed by the master device 1.

[0054] (3) Bandwidth and capacity balance mode: a master device interfaces (for example, 20_0~20_a-1) are used simultaneously to ensure bandwidth, and b master device interfaces (for example, 20_a~20_m-1) are used separately to ensure capacity, and a+b=m, wherein the bad unit management module 21 allocates the address ranges of all good storage units in the storage area to be accessed of the memory stack 3 accordingly, and maps them to the m master device interfaces, and the address range mapped by the a master device interfaces is the address range of the good storage units and is balanced, so that the a master device interfaces can receive the same instructions at the same time and the address ranges are the same size, thereby ensuring bandwidth. Further optionally, in the bandwidth and capacity balance mode, the bad unit management module 21 also maps the address ranges of all bad storage units in the storage area to be accessed of the memory stack 3 to at least one of the b master device interfaces, and the bad unit management module 21 maps the address ranges of as many bad storage units as possible in the storage area to be accessed of the memory stack 3 to the same master device interface among the b master device interfaces. For example, please refer to Figure 2 The storage controller 2 has four master device interfaces, namely, master device interfaces 20_0 to 20_3. The master device interfaces 20_0 and 20_2 are used to ensure bandwidth, so the address ranges mapped to the master device interfaces 20_0 and 20_2 are all good storage units in the memory stack 3, and the sizes of the address ranges mapped to the master device interfaces 20_0 and 20_2 are the same. The address range mapped to the master device interface 20_1 is half good storage units and half bad storage units, and the address range mapped to the master device interface 20_3 is all bad storage units. This is because the address range of the bad storage units in the storage area to be accessed of the memory stack 3 is first mapped to the master device interface 20_3 to the maximum extent (i.e., "as much as possible"), and after exceeding the maximum limit of the master device interface 20_3, the address range of the remaining bad storage units in the storage area to be accessed is mapped to the master device interface 20_1.

[0055] It should be understood that the above three configuration modes are only illustrative examples of this embodiment, and do not indicate that the technical solution of the present invention is limited to the above examples. The types of configuration methods that the storage controller 2 of the present invention can implement and the performance supported by each configuration method can be arbitrarily and reasonably configured according to needs. For example, some users may only access one or several storage areas of the memory stack 3 for a long time and do not access other storage areas of the memory stack 3, or the user wants to switch the usage scenario. For these situations, a configuration mode that matches them can be configured. Thus, after selecting the corresponding configuration mode and obtaining the current good or bad information of the storage area to be accessed by the user (which can be the current good or bad information of the storage units of the entire memory stack 3, or the current good or bad unit information of the storage units of the storage area of the memory stack 3 that the user accesses for a long time), the address range of the corresponding good storage units in the memory stack 3 is adaptively allocated and mapped to the corresponding master device interface, so as to flexibly cope with different usage scenarios.

[0056] Optionally, please continue to refer to Figure 1 , the bad cell management module 21 includes a mode register 212, and the mode register 212 can be configured to handle multiple configuration modes for different usage scenarios and allow the user to configure it according to the current usage scenario to select the required current configuration mode from the multiple configuration modes.

[0057] Further optionally, different values of one or more bit (bit) register bits in the mode register 212 can represent different configuration modes. The user sets the register value of the one or more bit register bits equal to the corresponding value to set (or "select") the configuration mode to the required current configuration mode. In one example, there are 2-bit register bits in the mode register 212 for implementing configuration mode selection. When the user configures the value of the 2-bit register bits to be equal to 00, the selected configuration mode (i.e., the current configuration mode) is the first mode (for example, the bandwidth priority mode); when the user configures the value of the 2-bit register bits to be equal to 01, the selected configuration mode (i.e., the current configuration mode) is the second mode (for example, the capacity priority mode); when the user configures the value of the 2-bit register bits to be equal to 10, the selected configuration mode (i.e., the current configuration mode) is the third mode (for example, the mode that takes both bandwidth and capacity into account); when the user configures the value of the 2-bit register bits to be equal to 11, the selected configuration mode (i.e., the current configuration mode) is the reserved default mode (reserved mode).

[0058] In this embodiment, the current good / bad information relied on by the bad cell management module 21 may include the number and address range of the current good memory cells in the entire memory stack 3, and the number and address range of the bad memory cells. When used for the first time, the bad cell management module 21 obtains the current good / bad information based on the bad point address information of the memory stack 3 at the time of factory shipment. The bad point address information of the memory stack 3 at the time of factory shipment can be obtained by the memory manufacturer through built-in self-test (BIST) and redundant repair on the memory stack 3 in the stage before the memory stack 3 leaves the factory. When the memory stack 3 leaves the factory, the bad point address information of the memory stack 3 will be delivered to the user together (for example, writing these bad point address information into the recording unit 210 in the bad cell management module 21). After the memory stack 3 leaves the factory (i.e., during the user's use process), the bad cell management module 21 obtains the required current good / bad information based on the updated bad point address information on the basis of the bad point address information of the memory stack 3 at the time of factory shipment. Among them, the recording unit 210 is, for example, a register, and the stored bad point address information can be automatically updated through the built-in self-test (BIST) process, or the user is allowed to configure it.

[0059] Among them, the method for the bad cell management module 21 to update the bad point address information on the basis of the bad point address information of the memory stack 3 at the time of factory shipment may include any one or both of the following methods:

[0060] (1) When the number of error occurrences of a certain storage address or a certain piece of storage address (i.e., "a piece of address range") exceeds the threshold during the use of the memory stack 3, the erred certain storage address or a certain piece of storage address is used as a new bad point address to update the bad point address information on the basis of the bad point address information of the memory stack 3 at the time of factory shipment. This method supports the user to manually mark the bad memory cells including the frequently erred addresses.

[0061] (2) Please refer to Figure 1 , the bad cell management module 21 further includes a built-in self-test unit (BIST) 211. After the memory stack 3 leaves the factory, when the chip is powered on or reset or when receiving a test instruction generated by the user through the main device 1, the built-in self-test unit 211 automatically performs a built-in self-test on the memory stack 3 to detect the newly generated bad point addresses in the memory stack 3, and then updates the bad point address information on the basis of the bad point address information of the memory stack 3 at the time of factory shipment. This method supports the user to perform the BIST test by himself / herself. After the BIST test is completed, the good / bad information of the currently to-be-accessed storage area (i.e., the number of good memory cells and / or the number of bad memory cells, etc.) will be automatically updated.

[0062] Please continue to refer to Figure 1 and Figure 2, optionally, the bad cell management module 21 further includes a recording unit (buffer) 210, and the bad cell management module 21 is further configured to store (or "write") the current good or bad information of the to-be-accessed storage area into the recording unit 210. Further optionally, the built-in self-test unit 211 can write the address range of the newly discovered bad storage cells in the built-in self-test after the memory stack 3 leaves the factory into the recording unit 210, so that information such as the number of bad storage cells and the number of good storage cells stored in the recording unit 210 changes accordingly. Thus, the bad cell management module can obtain the updated current good or bad information of each storage cell in the to-be-accessed storage area of the memory stack 3.

[0063] In one example, the recording unit 210 can store the current good or bad information of all or only the storage cells in the to-be-accessed storage area of the memory stack 3.

[0064] Furthermore, the recording unit 210 is also used to store the bad point address information of the memory stack 3 (which can be achieved by writing through the bad cell management module 21). At the beginning, the bad point address information stored in the recording unit 210 is the bad point address information when the memory stack 3 leaves the factory. After there is new bad point address information, the bad point address information stored in the recording unit 210 is the updated bad point address information based on the bad point address information when the memory stack 3 leaves the factory, which includes the new bad point address information and the bad point address information that has not been repaired before the new bad point address information is stored.

[0065] In one example, after the bad cell management module 21 obtains a new bad point address (i.e., after updating the bad point address information in the above manner), it can write the new bad point address into the recording unit 210, and does not perform redundant repair on the new bad point address. Instead, it directly determines whether the number of un-repaired bad point addresses in the storage unit unit where the new bad point address is located exceeds a corresponding threshold. If it exceeds, the storage unit unit where the new bad point address is located is marked as a bad storage unit (for example, writing the address range of the storage unit into the recording unit 210). If it does not exceed, the storage unit where the new bad point address is located is not marked as bad and remains a good storage unit. Among them, when a new bad storage unit is generated (i.e., marked), the marking of the new bad storage unit (error unit) will cause the current good or bad information stored in the recording unit 210 to be updated.

[0066] Thus, when a user discovers that a certain storage address or a certain range of storage addresses is always in error, the bad cell management module 21 supports the user in marking the address as bad. The recording unit 210 can index the storage cells marked as bad this time in the memory stack 3, thereby enabling the user to have real-time control over the health of the memory stack 3. When new bad storage cells are found or the number of newly found bad storage cells exceeds the threshold, during the use of the memory stack 3, based on the current good or bad information of the memory stack 3, it can be timely determined whether it is necessary to change the configuration mode (for example, determine whether to maintain capacity or bandwidth during use) so that the user can adapt to different usage scenarios.

[0067] In another example, each memory cell unit in the memory stack 3 has multiple memory addresses. Among them, each memory address including the bad point address is determined by a corresponding word line WL and a bit line BL of the memory stack 3. Each memory cell unit is configured with redundant resources, which include a certain number of redundant word lines, redundant bit lines, and redundant cells determined by these redundant word lines and redundant bit lines (the addresses of which can be regarded as redundant addresses). After the bad cell management module 21 obtains a new bad point address (for example, after writing the new bad point address into the recording unit 210), and before determining whether the number of un-repaired bad point addresses in the memory cell where the new bad point address is located exceeds a corresponding threshold (that is, before determining whether to mark the memory cell where the new bad point address is located as bad), it first determines whether the new bad point address can be redundantly repaired with the corresponding redundant resources. If it can, it means that there are remaining redundant resources in the current memory cell corresponding to the new bad point address. At this time, the remaining corresponding redundant resources in the current memory cell can be used to redundantly repair the new bad point address (that is, replace the new bad point address with the address of the redundant cell). In this case, before the redundant resources are exhausted, the memory cell remains a good memory cell; if not, it means that the redundant resources of the current memory cell corresponding to the new bad point address have been used up (that is, there is no redundant cell in the current memory cell that can replace the new bad point address). At this time, the new bad point address cannot be redundantly repaired anymore (that is, a new un-repaired bad point address is generated). In this case, the number of un-repaired bad point addresses in the memory cell may exceed the threshold. At this time, the bad cell management module 21 can further determine whether the number of un-repaired bad point addresses included in the current memory cell corresponding to the new bad point address is greater than or equal to the corresponding threshold (the threshold can be any appropriate integer greater than or equal to 0). If so, the bad cell management module 21 marks the current memory cell where the new bad point address is located as a bad memory cell to update the current good / bad information stored in the recording unit 210. If not, the bad cell management module 21 does not mark the current memory cell where the new bad point address is located as bad, and the current memory cell remains a good memory cell. Among them, when a new bad memory cell is generated (that is, marked), the marking of the new bad memory cell will cause the current good / bad information stored in the recording unit 210 to be updated.

[0068] That is to say, in this example, before marking any storage unit as bad, the bad unit management module 21 performs redundant repair on the new bad point address if there is corresponding redundant resource. And regardless of whether redundant repair is performed, it is ultimately necessary to determine whether the number of bad point addresses that cannot be repaired in the storage unit exceeds the corresponding threshold. And these bad point addresses that cannot be repaired can actually include the bad point addresses when the storage unit leaves the factory and the new and unrepaired bad point addresses found by the BIST test after leaving the factory. This example can utilize the redundant resource to repair the newly added bad point addresses as much as possible after leaving the factory, which is conducive to ensuring the bandwidth and capacity of the memory.

[0069] In one example, the threshold is equal to 1. As long as there is one bad point address that cannot be repaired in any storage unit of the memory stack 3, it will be marked as a bad storage unit.

[0070] For example, please refer to Figure 2, the capacity of one block of the memory stack 3 is 32 Mbit (for example, the area formed by the intersection of 16 kbit word lines WL and 2 kbit bit lines BL). This block is divided into upper 16 Mbit and lower 16 Mbit. The capacity of the minimum management unit of the memory stack 3 by the bad cell management module 21 is 16 Mbit (that is, one memory cell includes 16 Mbit storage addresses). When the memory stack 3 has 8 stacked memory wafers wafer0 to wafer7 (i.e., "8-layer memory die"), each layer of memory die has 20 blocks U0 to U19. This memory stack 3 has a total of 160 blocks (32 Mbit), that is, 320 memory cells unit (320 * 16 Mbit storage addresses). The built-in self-test unit 211 tests 320 16-Mbit memory cells (DRAM unit). When there are finally 302 16-Mbit good memory cells after testing, the bad cell management module 21 can allocate and map the address ranges of these 302 16-Mbit good memory cells to the 4 main device interfaces 20_0 to 20_3 according to the current configuration mode. For example, it can be allocated and mapped to the 4 main device interfaces 20_0 to 20_3 by allocating 75, 75, 76, 76 16-Mbit good memory cells according to the capacity priority mode, or by allocating 75, 75, 75, 75 16-Mbit good memory cells according to the bandwidth priority mode, or, by allocating 75, 75, 75, 77 16-Mbit good memory cells according to a mode that takes both bandwidth and capacity into account and corresponding to allocate and map to the 4 main device interfaces 20_0 to 20_3, or by allocating 80, 80, 80, 62 16-Mbit good memory cells according to another mode that takes both bandwidth and capacity into account and corresponding to allocate and map to the 4 main device interfaces 20_0 to 20_3.

[0071] Further optionally, please refer to Figure 3 , in the embodiment where the memory stack 3 is a multi-layer stacked DRAM die, the memory controller 2 is disposed in Figure 3 the buffer die 200 of Figure 3In the logic die 100, corresponding circuits such as the built-in self-test unit 211, the recording unit 210, and the mode register 212 in the defective unit management module 21 can be formed in the buffer die 200, and the logic die 100 and the buffer die 200 can be integrated in the same plane or integrated in a three-dimensional stacked manner through structures such as through-silicon vias (TSVs). It should be noted that, in some embodiments, the memory controller 2 is only a part of the buffer die 200. In other embodiments, as an interface between the logic die 100 and the memory stack 3, the buffer die 200 may further include input / output (IO) circuits, etc. The buffer die 200 may also be referred to as an interface die or a base die.

[0072] In the memory controller 2 of this embodiment, the defective unit management module 21 can adaptively allocate and map the address range of the good memory units in the memory area to be accessed in the memory stack 3 to the m master device interfaces 20_0~20_m-1 according to the currently selected configuration mode (i.e., the current configuration mode) and the current good / bad information of each memory unit in the memory area to be accessed in the memory stack 3. That is, the mapping relationship between the address range of the good memory units in the memory area to be accessed in the memory stack 3 and the m master device interfaces 20_0~20_m-1 can change with the change of the current configuration mode, so as to realize the dynamic remapping relationship between the address range of the good memory units in the memory area to be accessed in the memory stack 3 and the m master device interfaces 20_0~20_m-1. Thus, after the memory stack 3 is manufactured or delivered to the customer, it can support the flexible adjustment requirements of the user's logic die 100 for the memory stack 3, and further meet the user's requirements for various usage scenarios.

[0073] It should be understood that, in addition to the above-mentioned master device interfaces 20_0~20_m-1 and the defective unit management module 21, the memory controller 2 of this embodiment may also have other control logic modules 22 for implementing other functions. The other control logic modules 22 may include circuits for performing a refresh operation on the memory, circuits for error correction of the memory (such as ECC correction), circuits for implementing timing constraint rules (such as a phase-locked loop PLL), circuits for managing power consumption and temperature, first-in-first-out queue registers (fifo), and any other required circuits. These circuits are not the focus of the present invention, so they will not be described in detail here. Please continue to refer to Figure 3 the buffer die 200 is formed by the other control logic modules 22 and corresponding circuits such as the built-in self-test unit 211 in the defective unit management module 21.

[0074] In addition, the division of each module such as the master device interfaces 20_0 to 20_m-1, the bad cell management module 21, and other control logic modules 22 in the storage controller 2 of this embodiment is illustrative and mainly a logical function division. There may be other division methods in actual implementation. Each functional unit in the embodiments of this application can be integrated in a processing module, or each module can exist physically alone, or two or more modules can be integrated in a module. The above-mentioned integrated modules can be implemented in whole or in part through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present invention are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as an SSD), etc.

[0075] Optionally, please refer to Figures 1 to 3 , the memory stack 3 includes k + 1 layers of memory dies 300 to 30k stacked three-dimensionally, where k is an integer and k ≥ 1, the storage controller 2 is disposed in the buffer die 200, and the master device 1 is disposed in the logic die 100. Any suitable packaging technology such as chip-on-wafer (COW) packaging technology, wafer-on-wafer (WOW) packaging, or chip-on-chip (COC) packaging technology can be used to package the memory stack 3, the buffer die 200, and the logic die 100 together to form a memory product.

[0076] For example, the buffer die 200 and the logic die 100 can be stacked with the k + 1 layers of memory dies 300 to 30k using through-silicon vias (TSVs), thereby expanding the capacity of the memory stack 3 managed by the storage controller 2.

[0077] In one example, the logic die 100 is stacked on the substrate 400, the buffer die 200 is stacked on the logic die 100 by using through-silicon via (TSV) and hybrid bonding technology, the memory die 300 is stacked on the buffer die 200 through TSV, and the remaining upper memory dies are stacked on the lower memory dies through TSV. In the memory stack 3, the k+1 layers of memory dies 300 to 30k are vertically stacked together, which has great advantages in terms of wiring, bandwidth, and latency of the memory stack 3. It not only saves space, but also can bring a shorter chip pitch, thereby shortening the signal transmission path and latency. It uses TSV technology to perforate the edge or specific positions of the memory dies, and uses these holes as paths for wiring to complete the vertical interconnection between the memory dies and between the memory dies and the buffer die 200, as well as the vertical interconnection between the buffer die 200 and the logic die 100, etc.

[0078] If each layer of memory die (i.e., corresponding to one layer of wafer) has n storage units with the same capacity, then there are a total of n*(k+1) storage units with the same capacity on the memory stack 3. The bad cell management module 21 can adaptively allocate the address range of the good storage units among the n*(k+1) storage units with the same capacity according to the current configuration mode, and map them to m master device interfaces 20_0 to 20_m-1. Among them, when the bad cell management module 21 can centrally map the address ranges of the good storage units on the same memory die to the same master device interface, if the master device interfaces 20_0 to 20_m-1 work independently, then the memory dies corresponding to the master device interfaces are also independent of each other.

[0079] Exemplarily, each of the memory dies 300 to 30k is a DRAM die. The bad cell management module 21 can manage each layer of DRAM die from the point (i.e., cell level) to the storage unit level, and can replace the storage address at the bad point level with the address of the internal redundant cell. A storage unit is determined to be a bad cell only when its redundant cell is used up and there are still excessive bad points.

[0080] Please refer to Figures 1 to 4 , an embodiment of the present invention further provides a three-dimensional stacked memory, which includes a memory stack 3 and a storage controller 2 as described in the present invention. The storage controller 2 is disposed on the buffer die 200. The memory stack 3 includes k+1 layers of memory dies 300 to 30k stacked three-dimensionally, and the k+1 layers of memory dies 300 to 30k and between the memory dies and the buffer die 200 are hybrid bonded through TSV.

[0081] In summary, the storage controller and the three-dimensional stacked memory provided by the present invention can implement a dynamic remapping relationship between the address ranges of all good memory cells in the storage area to be accessed of the memory stack body and multiple host device interfaces according to the change of the current configuration mode and the good or bad information of each memory cell in the storage area to be accessed of the memory stack body (which can be the storage area frequently used by the user, and the storage area frequently used by the user can be a part of the storage space of the memory stack body or all of the storage space). Thus, after the three-dimensional stacked memory is shipped and applied, it can still support the user's flexible adjustment requirements for the three-dimensional stacked memory, and further meet the user's requirements for various usage scenarios. For example, it supports the user to decide whether to maintain the capacity or the bandwidth during the use of the three-dimensional stacked memory, so that the user can adapt to different usage scenarios and ensure the maximum utilization of the storage resources of the memory; for another example, it supports the usage scenario where the user only accesses a certain area of the three-dimensional stacked memory and does not access other areas.

[0082] Furthermore, the storage controller and the three-dimensional stacked memory can also support the user to perform built-in self-test on the three-dimensional stacked memory after shipment and mark bad memory cells when newly discovered bad memory cells are found, so that the user can have real-time control over the health status of the three-dimensional stacked memory, and then change the current configuration method in a timely manner according to the needs.

[0083] The above description is only a description of the preferred embodiments of the present invention, and does not limit the scope of the present invention in any way. Any changes and modifications made by those of ordinary skill in the technical field of the present invention according to the above disclosure are within the scope of protection of the technical solution of the present invention.

Claims

1. A storage controller is coupled between a host device and a memory stack, wherein the memory stack includes a plurality of memory dies, and each of the memory dies includes a plurality of memory cells, characterized in that, The storage controller includes: A plurality of master device interfaces for communicating and connecting with the master devices, and each master device interface is a multi-IO parallel interface; A bad cell management module coupled to the plurality of master device interfaces and configured to map the address ranges of the corresponding good storage cells in the storage area to be accessed in the memory stack to the corresponding master device interfaces respectively according to the current configuration mode and the current good / bad information of each storage cell in the storage area to be accessed; Wherein, the storage controller provides multiple configuration modes for different usage scenarios, the current configuration mode is selected from the multiple configuration modes, and the mapping relationship between the address ranges of the good storage cells in the storage area to be accessed and the plurality of master device interfaces changes with the change of the current configuration mode.

2. The storage controller according to claim 1, wherein, The number of the plurality of master device interfaces is m, where m is an integer greater than 1, and the configuration modes include at least two of the following (1) to (3): (1) Bandwidth priority mode: The m master device interfaces are used simultaneously, and the bad cell management module maps the address ranges of all good storage cells in the storage area to be accessed to each of the master device interfaces in an evenly distributed manner by dividing the address ranges of all good storage cells in the storage area to be accessed by m; (2) Capacity priority mode: Each master device interface is used separately, and the bad cell management module maps the address ranges of all good storage cells in the storage area to be accessed to the m master device interfaces correspondingly, so that all good storage cells in the storage area to be accessed can be accessed by the master devices; (3) Bandwidth and capacity balance mode: a master device interfaces are used simultaneously, b master device interfaces are used separately, and a + b = m. Wherein, the bad cell management module maps the address ranges of all good storage cells in the storage area to be accessed to the m master device interfaces correspondingly, and the address ranges of the good storage cells mapped by the a master device interfaces are of the same size.

3. The storage controller according to claim 2, wherein In the capacity priority mode, on the premise of not exceeding the maximum limit of the master device interface, the bad cell management module maps the address ranges of the bad storage cells in the storage area to be accessed to the same master device interface; And / or, in the bandwidth and capacity balance mode, the bad cell management module maps the address ranges of all the bad storage cells in the storage area to be accessed to at least one of the b master device interfaces.

4. The storage controller according to any one of claims 1-3, characterized in that, The bad cell management module includes a recording unit for storing the current good / bad information; and / or, the memory die is a DRAM die, and the master device interface is an AXI interface or a CHI interface or an AHB interface.

5. The storage controller according to claim 4, wherein, The current good / bad information includes the number and address range of the good memory cells and the number and address range of the bad memory cells in the to-be-accessed memory area currently, and the current good / bad information is obtained according to the bad point address information when the memory stack is manufactured, or is obtained according to the bad point address information updated based on the bad point address information when the memory stack is manufactured; wherein the bad point address information when the memory stack is manufactured is obtained from the bad point test performed on the memory stack before it is manufactured.

6. The storage controller according to claim 5, wherein The method for the bad cell management module to update the bad point address information based on the bad point address information when the memory stack is manufactured includes at least one of the following (1) to (2): (1) When the number of error occurrences at a certain memory address or a certain block of memory addresses exceeds the threshold during the use of the memory stack, the certain memory address or the certain block of memory addresses is used as the new bad point address to update the bad point address information based on the bad point address information when the memory stack is manufactured; (2) The bad cell management module further includes a built-in self-test unit. After the memory stack is manufactured, the built-in self-test unit performs a built-in self-test on the memory stack to detect the newly generated bad point addresses in the memory stack, and then updates the bad point address information based on the bad point address information when the memory stack is manufactured.

7. The storage controller according to claim 6, wherein, The bad cell management module is further configured to, after updating the bad point address information, determine whether the number of un-repaired bad point addresses included in the memory cell where the new bad point address is located is greater than or equal to the corresponding threshold. If so, the memory cell where the new bad point address is located is marked as a bad memory cell to update the current good / bad information. If not, the memory cell where the new bad point address is located remains a good memory cell; Wherein, when the new bad memory cell is marked, the current good / bad information is updated.

8. The storage controller according to claim 7, wherein Each of the memory cells is configured with redundant resources; The bad cell management module is further configured to, after obtaining the new bad point address and before determining whether the number of un-repaired bad point addresses included in the memory cell where the new bad point address is located is greater than or equal to the corresponding threshold, first determine whether the new bad point address can be redundantly repaired using the corresponding redundant resources. If so, the new bad point address is redundantly repaired using the corresponding redundant resources.

9. The storage controller according to claim 4, wherein The memory controller is disposed on the buffer die, the host device is located on the logic die, and the logic die and the buffer die are integrated in the same plane or integrated together in a three-dimensional stacking manner.

10. The storage controller according to claim 9, characterized in that, The multiple memory dies in the memory stack are stacked together in a three-dimensional stacking manner, and the buffer die is integrated with the memory stack in a three-dimensional stacking manner using through-silicon vias.

11. The storage controller according to any one of claims 1-3 and 5-10, characterized in that, The bad cell management module further includes a mode register for configuring the multiple configuration modes and selecting the current configuration mode from the multiple configuration modes.

12. The storage controller according to any one of claims 1-3 and 5-10, characterized in that, The memory stack is divided into multiple memory areas, and the multiple memory dies in each memory area share row addresses and column addresses. Each memory area serves as a sub-memory system and corresponds to a group of the multiple master device interfaces and a bad cell management module, so as to implement the management of the sub-memory systems of the memory stack.

13. A three-dimensional stacked memory, characterized in that, It includes a memory stack and the memory controller according to any one of claims 1-12. The memory controller is disposed on a buffer die. The memory stack includes multiple layers of memory dies stacked three-dimensionally, and through-silicon via hybrid bonding is performed between the multiple layers of memory dies and between them and the buffer die.

Citation Information

Patent Citations

  • Three-dimensional stacking memory

    CN106782666A

  • Repair method and access method and device of memory, electronic equipment and medium

    CN119314544A