WO2019000456A1 - Data mask transmission method, memory controller, memory chip, and computer system - Google Patents

Data mask transmission method, memory controller, memory chip, and computer system Download PDF

Info

Publication number
WO2019000456A1
WO2019000456A1 PCT/CN2017/091331 CN2017091331W WO2019000456A1 WO 2019000456 A1 WO2019000456 A1 WO 2019000456A1 CN 2017091331 W CN2017091331 W CN 2017091331W WO 2019000456 A1 WO2019000456 A1 WO 2019000456A1
Authority
WO
WIPO (PCT)
Prior art keywords
data blocks
data
block
written
data block
Prior art date
Application number
PCT/CN2017/091331
Other languages
French (fr)
Chinese (zh)
Inventor
肖世海
朗诺斯弗洛里安
杨伟
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201780091809.1A priority Critical patent/CN110720126B/en
Priority to PCT/CN2017/091331 priority patent/WO2019000456A1/en
Publication of WO2019000456A1 publication Critical patent/WO2019000456A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 

Definitions

  • the present application relates to the field of computers and, more particularly, to a method of transmitting a data mask, a memory chip, and a computer system.
  • DRAM dynamic random access memory
  • DIMMs dual inline memory modules
  • DIMMs dual inline memory modules
  • DDR double data rate
  • the memory controller can access the data in the DRAM through the DDR bus between the memory controller and the DIMM.
  • the DDR DRAM memory chip usually has a data mask (DM) pin, and the DM pin is used to indicate whether the write data of the current cycle is masked.
  • DM data mask
  • the DDR4 standard has a DM_n pin, and when the DM_n pin is low, it indicates that the data currently sampled at the same time as the DM_n pin is invalid.
  • the ⁇ 4 DRAM (that is, the bit width of the DRAM chip is 4 bits) does not have the DM function.
  • the DIMMs composed of ⁇ 4 DRAMs have high capacity and are usually used in servers with high performance requirements. If there is a way to solve the DM transmission of ⁇ 4 DRAM without increasing the pins, it will be beneficial to improve the performance of the server.
  • the application provides a method for transmitting a data mask, a memory controller, a memory chip and a computer system, which can realize the transmission of the DM without increasing the pin.
  • the first aspect provides a method for transmitting a data mask DM, the method includes: the memory controller sends a first write command to the memory chip, where the first write command includes first indication information, where the first The indication information is used to indicate that the data block to be written has a mask data block, the number of the data block to be written is N, N is an integer greater than or equal to 2; the memory controller is configured according to the first write command Sending N data blocks to the memory chip, where one of the N data blocks is a first DM information block, the first DM information block is used to indicate mask data in the data block to be written The location of the block, the N data blocks including non-masked data blocks in the data block to be written.
  • the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written.
  • the non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
  • the first DM information block may include N bits of DM information, where the N bits have a one-to-one correspondence with the N data blocks to be written. That is to say, each bit in the DM information corresponds to a data block to be written (which may also be referred to as an original data block).
  • the memory controller can notify the memory chip which of the N data blocks to be written are mask data blocks and which are non-mask data blocks. For example, the corresponding bit of the data block to be written is 0, it can be said that the data block to be written is a non-masked data block, and when the bit corresponding to the data block to be written is 1, it can indicate that the data block to be written is a mask data block.
  • the first DM information block may be any one of the N data blocks that are sent, which is not limited by the embodiment of the present application.
  • the memory chip in the embodiment of the present application may include a DRAM chip, a phase change memory (PCM) chip, or a resistive random access memory (RRAM) chip, etc., and the embodiment of the present application is not limited thereto. .
  • PCM phase change memory
  • RRAM resistive random access memory
  • the first DM information block is the first data block of the N data blocks.
  • the DM information is transmitted in the first data block, so that the memory chip can know whether the subsequently received data block is a mask block according to the DM information, so that after receiving the data block, if the data is received, The block is a non-masked data block, and the memory chip can directly write the non-masked data block into the storage medium of the memory chip, and can improve the writing efficiency without waiting for other data blocks to be received.
  • the storage medium may also be referred to as a storage array, and the embodiment of the present application is not limited thereto.
  • the first mask data block in the data block to be written is the nth data block, and n is an integer greater than 0 and less than or equal to N;
  • the 2nd to nth data blocks in the data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th to the Nth data in the N data blocks
  • the block is the n+1th to Nthth data block in the data block to be written.
  • the N data blocks sent by the memory controller to the memory chip do not include the first one of the N data blocks to be written, and the N data blocks include the first DM information block and the N All data blocks except the first masked data block in the data block to be written.
  • the data block to be written in the embodiment of the present application may also be referred to as an original data block, and the N data blocks to be written may be referred to as N original data blocks, and the DM information blocks are not included in the N original data blocks.
  • the N data blocks to be written are different from the N data blocks (the actually transmitted data blocks) sent by the memory controller, and the transmitted N data blocks include DM information blocks.
  • the memory controller may send the DM information according to the following preset rule: firstly, the DM information is transmitted, and then the memory controller finds the first mask data block in the data block to be written according to the DM information, that is, to be written.
  • the incoming data block 3, the data before the first masked mask data block ie, the data block 1 and the data block 2 to be written
  • Block 2 and data block 3 correspond to data block 1 and data block 2 to be written, and then the first mask data block is not transmitted, and the data after the first mask data block, that is, the data block to be written 4 To 8, according to the location of the original data, send in order.
  • the embodiment of the present application discards the data of the first mask data block in the data block corresponding to the transmission BL (which may be referred to as a data block or an original data block to be written), by adding a DM information block,
  • the transmission of the DM is realized on the basis of not increasing the amount of data transmitted, avoiding additional transmission time and saving transmission resources.
  • the memory controller does not transmit the first mask data block
  • the memory controller may not The last masked data block is transmitted, that is, the transmitted N data blocks include all of the first DM information block and the data blocks to be written except the last mask data block.
  • the memory controller can transmit the N data blocks according to a similar rule of the first case. To avoid repetition, details are not described herein again.
  • the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N; the N data blocks The 2nd to Z+1th data blocks in the The Z non-masked data blocks, when Z is less than or equal to N-2, the Z+2th to Nth data blocks of the N data blocks are preset data blocks.
  • the N data blocks (the actually transmitted N data blocks) sent by the memory controller to the memory chip do not include the mask data in the N data blocks to be written (which may also be referred to as original data blocks).
  • the N data blocks include a first DM information block and all non-masked data blocks in the N data blocks to be written and a preset data block.
  • the transmitted N data blocks include the first DM information block and the N-1 non-masked data blocks.
  • the transmitted N data blocks include the first DM information block and the Z non-mask databases. Block and NZ-1 preset data blocks.
  • the memory controller may send the DM information according to the following preset rule: firstly, the DM information is transmitted, and then the memory controller determines, according to the DM information, whether each data block to be written is a masked data block, if it is a mask data. The block is not transmitted, and if it is a non-masked data block, it is transmitted along with the previously transmitted data block. After the non-masked block transmission is completed, the remaining transport blocks may transmit the preset data block.
  • the preset data block includes 8 bits of 0, or 8 bits of 1. The embodiment of the present application is not limited thereto.
  • the DM transmission is realized without increasing the amount of data transmitted. It avoids extra transmission time and saves transmission resources.
  • the method further includes: the memory controller sends a second write command to the memory chip; the memory controller sends a P to the memory chip according to the second write command.
  • a data block one of the P data blocks is a second DM information block, the second DM information block is used to indicate K in the Q data blocks to be written by the memory chip according to the second write command.
  • the second write command may be a write command with a burst chop attribute or a flag, and the burst length corresponding to the second write command is half of the burst length corresponding to the first write command.
  • the present application when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
  • the second aspect provides a method for transmitting a data mask DM. It should be understood that the method of the second aspect corresponds to the first aspect, and the second aspect describes the transmission DM of the embodiment of the present application from the memory chip side.
  • the method of the first aspect of the present invention describes a method for transmitting a DM according to an embodiment of the present application.
  • the memory chip in the embodiment of the present application may include a DRAM chip, a PCM chip, or a RRAM chip, etc., and the embodiment of the present application is not limited thereto.
  • the method for transmitting the DM includes: receiving, by the memory chip, a first write command sent by the memory controller, where the first write command includes first indication information, where the first indication information is used.
  • the memory chip receives the memory controller according to the first write command Sending N data blocks, where one of the N data blocks is a first DM information block, the first DM information block is used to indicate the data to be written a location of the masked data block in the block, the N data blocks including the non-masked data block in the data block to be written, the memory chip, according to the indication of the first DM information block, the to-be-written The non-masked data block in the data block is written in the storage medium of the memory chip.
  • the memory chip may determine the mask data block and the non-mask data block in the N data blocks to be written according to the DM information, and may decode and receive according to a preset rule. An address of the non-masked data block of the N data blocks in the storage medium of the memory chip, and writing the non-masked data block in the data block to be written into the storage medium according to the decoded address .
  • the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written.
  • the non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
  • the first DM information block is the first data block of the N data blocks.
  • the first mask data block in the data block to be written is the nth data block, and n is an integer greater than 0 and less than or equal to N;
  • the 2nd to nth data blocks in the data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th to the Nth data in the N data blocks
  • the block is the n+1th to Nthth data block in the data block to be written.
  • the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N; the N data blocks The second to the Z+1th data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2th to Nth data blocks in the N data blocks are pre- Set the data block.
  • the method further includes: the memory chip receiving a second write command sent by the memory controller; the memory chip receiving the memory controller to send according to the second write command P data blocks, one of the P data blocks is a second DM information block, the second DM information block is used to indicate that the memory chip is to be written in the Q data blocks according to the second write command.
  • the memory chip may determine the mask data block and the non-mask data block in the N data blocks to be written according to the DM information, and may decode the data according to the preset rule. An address of the non-masked data block in the received P data block in the storage medium of the memory chip, and writing the non-masked data block in the data block to be written into the storage medium according to the decoded address in.
  • the present application when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
  • a memory controller is provided. It should be understood that the memory controller of the third aspect corresponds to the first aspect, and the memory controller is capable of implementing the method implemented by the memory controller in the first aspect, the memory controller
  • the memory controller For the operation and/or function of each module, refer to the description of the first aspect. In order to avoid repetition, detailed description is omitted here. Said.
  • the memory controller includes: a front end interface connected to a processor in the computer system, the front end interface is configured to receive a write request of the processor, where the write request includes a data block to be written, and the data to be written
  • the number of blocks is N, N is an integer greater than or equal to 2
  • the memory bus interface is connected to the memory chip through a double rate DDR bus, and the memory bus interface is configured to: send a first write to the memory chip according to the write request a command, the first write command includes first indication information, where the first indication information is used to indicate that the data block to be written has a mask data block, and send N to the memory chip according to the first write command.
  • N data blocks include non-masked data blocks in the data block to be written.
  • the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written.
  • the non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
  • the first DM information block is the first data block of the N data blocks.
  • the first mask data block in the data block to be written is the nth data block, where n is greater than 0 and less than or equal to N; the N data The second to nth data blocks in the block are the first to n-1th data blocks in the data block to be written, and the n+1th to Nth data blocks in the N data blocks are The n+1th to Nthth data blocks in the data block to be written.
  • the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N; the N data blocks The second to the Z+1th data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2th to Nth data blocks in the N data blocks are pre- Set the data block.
  • the memory bus interface is further configured to send a second write command to the memory chip, and send P data blocks to the memory chip according to the second write command, where One of the P data blocks is a second DM information block, and the second DM information block is used to indicate K mask data blocks in the Q data blocks to be written by the memory chip according to the second write command.
  • the present application when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
  • a memory chip is provided. It should be understood that the memory chip of the fourth aspect corresponds to the second aspect, and the memory chip can implement the method implemented by the memory chip in the second aspect, and operations of each module of the memory chip For the sake of avoiding repetition, the detailed description is omitted as appropriate.
  • the memory chip includes: a storage medium for storing data; and a media controller connected to the memory controller in the computer system through the double rate DDR bus, and the media controller receives the memory controller to send through the DDR bus.
  • a first write command the first write command includes first indication information, where the first indication information is used to indicate that the data block to be written has a mask data block, and the number of the data block to be written Is N, N is greater than or An integer equal to 2;
  • the media controller receives, by the DDR bus, N data blocks sent by the memory controller according to the first write command, where one of the N data blocks is a first DM information block,
  • the first DM information block is used to indicate a location of a masked data block in the N data blocks to be written, the N data blocks including a non-masked data block in the data block to be written, the medium
  • the controller writes the non-masked data block in the data block to be written into the storage medium according to the indication of the first DM information block.
  • the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written.
  • the non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
  • the first DM information block is the first data block of the N data blocks.
  • the first mask data block in the data block to be written is the nth data block, and n is greater than 0 and less than or equal to N; the N data The second to nth data blocks in the block are the first to n-1th data blocks in the data block to be written, and the n+1th to Nth data blocks in the N data blocks are The n+1th to Nthth data blocks in the data block to be written.
  • the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N; the N data blocks The second to the Z+1th data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2th to Nth data blocks in the N data blocks are pre- Set the data block.
  • the media controller is further configured to receive a second write command sent by the memory controller, where the media controller is further configured to receive the P commands sent by the memory controller.
  • a data block where one of the P data blocks is a second DM information block, the second DM information block is used to indicate K of the Q data blocks to be written by the memory chip according to the second write command.
  • the media controller is further configured to indicate according to the second DM information And writing the non-masked data block of the Q data blocks to be written into the storage medium.
  • the present application when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
  • a computer system may include the memory controller of the third aspect and the memory chip of the fourth aspect, the memory controller and the memory chip.
  • the computer system may include the memory controller of the third aspect and the memory chip of the fourth aspect, the memory controller and the memory chip.
  • the memory controller is connected to the memory chip through a double rate DDR bus, and the memory controller sends a first write command to the memory chip through the DDR bus, where the first write command includes first indication information,
  • the first indication information is used to indicate that the data block to be written has a mask data block, and the number of the data block to be written is N, N is an integer greater than or equal to 2;
  • a write command sends N data blocks to the memory chip through the DDR bus, wherein one of the N data blocks is a first DM information block, and the first DM information block is used to indicate the to-be-written
  • the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written.
  • the non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
  • the first DM information block is the first data block of the N data blocks.
  • the first mask data block in the data block to be written is the nth data block, and n is an integer greater than 0 and less than or equal to N;
  • the 2nd to nth data blocks in the data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th to the Nth data in the N data blocks
  • the block is the n+1th to Nthth data block in the data block to be written.
  • the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N; the N data blocks The second to the Z+1th data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2th to Nth data blocks in the N data blocks are pre- Set the data block.
  • the memory controller is further configured to send a second write command to the memory chip, where the memory controller is further configured to send the memory chip to the memory chip according to the second write command.
  • P data blocks one of the P data blocks is a second DM information block, the second DM information block is used to indicate that the memory chip is to be written in the Q data blocks according to the second write command.
  • the present application when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
  • FIG. 1 is a schematic structural diagram of a computer system to which an embodiment of the present application is applicable.
  • FIG. 2 is a schematic block diagram of a method of transmitting a DM.
  • FIG. 3 is a flow chart of a method of transmitting a DM in accordance with one embodiment of the present application.
  • FIG. 4 is a schematic block diagram of a method of transmitting a DM according to an embodiment of the present application.
  • FIG. 5 is a flowchart of a method of transmitting a DM according to another embodiment of the present application.
  • FIG. 6 is a schematic block diagram of a method of transmitting a DM according to another embodiment of the present application.
  • FIG. 7 is a flowchart of a method of transmitting a DM according to another embodiment of the present application.
  • FIG. 8 is a schematic block diagram of a method of transmitting a DM according to another embodiment of the present application.
  • FIG. 9 is a schematic block diagram of a memory controller in accordance with one embodiment of the present application.
  • FIG. 10 is a schematic block diagram of a memory chip in accordance with an embodiment of the present application.
  • FIG. 11 is a schematic block diagram of a computer system in accordance with one embodiment of the present application.
  • FIG. 1 is a schematic structural diagram of a computer system to which an embodiment of the present application is applicable.
  • the computer system 100 includes a memory controller 110 and a DIMM 120.
  • the DIMM 120 includes at least one memory chip. It should be understood that the memory chip in the embodiment of the present application may include a DRAM chip, a PCM chip, or a RRAM chip. The memory chip is described as an example of a DRAM chip, but the embodiment of the present application is not limited thereto.
  • the memory controller 110 and the DIMM 120 are connected by a double data rate (DDR) bus.
  • the memory controller 110 can control data exchange between the DRAM chip and a central processing unit (CPU) through the DDR bus.
  • DDR double data rate
  • the memory controller 110 is connected to a central processing unit (CPU) and is controlled by the CPU. It should be understood that, in the embodiment of the present application, the memory controller 110 may be separate from the central processing unit (CPU), or the memory controller 110 may be integrated into the CPU.
  • CPU central processing unit
  • the technical solutions of the embodiments of the present application may be applied to a plurality of different memory organization forms. Only the form of the dual in-line memory module (DIMM) is shown in FIG. 1, but the embodiment of the present application is not limited to Therefore, the embodiment of the present application may also take other forms, for example, the chip controller and the processor may be on one board, or the chip controller may be used as a daughter card or a daughter board of other forms.
  • DIMM dual in-line memory module
  • a DDR bus typically includes an address bus, a command bus, and a data bus.
  • the data bus in the DDR bus includes a bi-directional data strobe (DQS) signal line and a DQ signal line.
  • DQS data strobe
  • the memory controller and DIMM are based on the DQS signal transmitted on the DQS signal line for data transmission on the DQ signal line.
  • the memory controller sends a DQS signal and a data to be written to the DRAM chip through the DQS signal line and the DQ signal line, respectively, and the DRAM chip latches (or samples) the DQ signal line based on the received DQS signal. Transmitted data to be written.
  • the memory device sends the DQS signal and the read data to the memory controller through the DQS signal line and the DQ signal line, respectively, and the memory controller latches the DQ signal line transmission based on the DQS signal. Data that has been read.
  • DQ signal data transmitted on the DQ signal line
  • DQS signal transmitted on the DQS signal line is mainly used for clock synchronization between the memory controller and the DIMM, and the DQS signal is equivalent to a clock. Synchronization signal.
  • a DQS signal line refers to a line that can logically form a DQS signal.
  • the DQS signal can be transmitted through a physical DQS line.
  • one DQS signal line corresponds to one physical DQS line.
  • the DQS signal is a differential signal, the DQS signal needs to be transmitted through two physical DQS lines.
  • one DQS signal line corresponds to two physical DQS lines.
  • the DDR data bus is generally grouped.
  • a DDR bus compatible with x4 DRAM ie, the bit width of the DRAM chip is 4 bits
  • x8 DRAM that is, the bit width of the DRAM chip is 8 bits
  • a set of DDR data buses includes Eight DQ signal lines and two DQS signal lines, which are designed to be of equal length on the board. In this way, the DDR bus can work normally whether it is connected to ⁇ 4 DRAM or connected to ⁇ 8 DRAM.
  • the DDR bus may include multiple sets of data buses.
  • the DDR data bus generally includes 72 DQ signal lines and 18 DQS signal lines. These data buses are divided into 9 groups of data buses, each of which includes 8 DQ signal lines and 2 DQS signal lines.
  • the DDR data bus generally includes 64 DQ signal lines and 16 Strip DQS signal lines, these data buses are divided into 8 groups of data buses, each group of data bus includes 8 DQ signal lines and 2 DQS signal lines.
  • the idle DQS can be set to the function of the DM pin, and since no DQS is idle in the ⁇ 4 DRAM, the x4 DRAM does not have the DM pin function.
  • the DIMMs composed of ⁇ 4 DRAMs have high capacity and are usually used in servers with high performance requirements. If there is a way to solve the DM transmission of ⁇ 4 DRAM without increasing the pins, it will be beneficial to improve the performance of the server.
  • the transmission mode without increasing the pin is to increase the transmission period of the DM after transmitting the data, taking DDR5 as an example, the ⁇ 4 DRAM chip
  • the burst length of one write data is generally BL16. Since DM information needs to be transmitted, the data transmission of DM is added after BL16. For example, the burst length required for DM data transmission is BL2, then the entire burst length is BL18.
  • a chip width of a ⁇ 4 DRAM is 4 bits
  • a chip width of the ⁇ 8 DRAM is 8 bits
  • a data amount of one burst transmission is 64 bits
  • a chip corresponding to a ⁇ 4 DRAM chip has a burst.
  • the length BL is 16, which requires 8 transfer cycles, and the data is transferred twice per cycle. For example, data is transmitted once on each of the upper and lower edges of each cycle, and 4 bits are transmitted at a time.
  • the burst length BL corresponding to the chip of ⁇ 8 DRAM is 8, requiring four transfer cycles, and data is transferred twice per cycle.
  • data is transmitted once on each of the upper and lower edges of each cycle, and 8 bits are transmitted at a time.
  • the embodiment of the present application proposes a method for transmitting a DM, which can solve the above problem, and implements delivery of DM information without adding additional DM transmission time and additional pins.
  • the DM information since the DM information needs to be transmitted, it means that at least one block of data is masked.
  • the masked data block can be referred to as a masked data block, because the memory chip is captured. After the code data block, the mask data block is masked, the memory chip does not rewrite the mask data block, and the memory chip only rewrites the unmasked data block. According to the above analysis, when the data is actually written, the masked data block is an unnecessary data block or a useless data block.
  • the embodiment of the present application can implement DM transmission by using one of the transmitted N data blocks as a DM information block, and the N data blocks include non-masked data blocks to be written in the data block.
  • the transmission of the DM can be realized without increasing the amount of data transmitted, avoiding additional transmission time and saving transmission resources.
  • FIG. 3 is a flowchart of a method for transmitting a DM according to an embodiment of the present application.
  • the method 300 shown in FIG. 3 includes:
  • the memory controller sends a first write command to the memory chip, where the first write command includes first indication information, where the first indication information is used to indicate that the data block to be written has a mask data block.
  • the number of written data blocks is N, and N is an integer greater than or equal to 2.
  • the first indication information can indicate that the first write command is a command with a write of the DM.
  • one of the pins A17, A13, and A11 can be used to distinguish between normal write and DM write in the embodiment of the present application.
  • the first indication information corresponds to the case where A17 is at a high level.
  • the corresponding write command can be a normal write command, that is, a write command without DM.
  • the burst length (BL) and the address of the data to be written may be defined in the first write command.
  • the data block to be written may be a data block corresponding to the BL.
  • the memory chip can be a ⁇ 4 DRAM chip, and the burst data amount is 64 bits, then the BL can be 16.
  • one data block may also correspond to a plurality of periodic data blocks.
  • one data block is 16 bits of data transmitted in two cycles; one data block may also correspond to data transmitted at one time.
  • the amount, that is, 4 bits, is not limited to this embodiment.
  • the amount of burst data normally transmitted in the embodiment of the present application may not be 64 bits, for example, the burst data amount of one transmission is 32 bits, or the burst data amount is other bit numbers, and accordingly, the BL is also Other values may be used, and embodiments of the present application are not limited thereto.
  • the memory controller sends N data blocks to the memory chip according to the first write command, where one of the N data blocks includes a first DM information block, where the first DM information block is used to indicate the to-be-written The location of the masked data block in the incoming data block, the N data blocks including the non-masked data block in the data block to be written.
  • the embodiment of the present application can implement DM transmission by using one of the transmitted N data blocks as a DM information block, and the N data blocks include non-masked data blocks to be written in the data block.
  • the transmission of the DM can be realized without increasing the amount of data transmitted, avoiding additional transmission time and saving transmission resources.
  • the data block to be written in the embodiment of the present application may also be referred to as an original data block, and the N data blocks to be written may be referred to as N original data blocks, and the DM information blocks are not included in the N original data blocks.
  • the N data blocks to be written are different from the N data blocks (the actually transmitted data blocks) sent by the memory controller, and the transmitted N data blocks include DM information blocks.
  • the memory chip in the embodiment of the present application may include a DRAM chip, a PCM chip, or a RRAM chip.
  • the following is an example in which the memory chip is a DRAM chip, but the embodiment of the present application is not limited thereto.
  • the memory controller may send the N data blocks according to a burst length defined by the first write command.
  • the N data blocks can be sent to the memory chip.
  • each data block may include write data sent by one transfer period. Therefore, the memory controller may sequentially send the N data blocks through N cycles.
  • the first DM information block may include N bits of DM information, where the N bits have a one-to-one correspondence with the N data blocks to be written. That is to say, each bit in the DM information corresponds to a data block to be written (which may also be referred to as an original data block).
  • the memory controller can notify the memory chip which of the N data blocks to be written are mask data blocks and which are non-mask data blocks. For example, the corresponding bit of the data block to be written is 0, it can be said that the data block to be written is a non-masked data block, and when the bit corresponding to the data block to be written is 1, it can indicate that the data block to be written is a mask data block.
  • the first DM information block may be any one of the N data blocks that are sent. The example does not limit this.
  • the first DM information block is the first one of the N data blocks that are transmitted.
  • the DRAM chip since the DRAM chip does not know in advance which block is a mask block, after all the data blocks are acquired, it is necessary to wait until the DM information is acquired before knowing whether each data block is hidden.
  • the code block is still a non-masked block, and then the non-masked data block in the previously acquired data block can be written into the memory, resulting in a long processing cycle and affecting the writing efficiency.
  • the DM information is transmitted in the first data block, so that the memory chip can know whether the subsequently received data block is a mask block according to the DM information, so after receiving the data block, if The data block is a non-masked data block, and the memory chip can directly write the non-masked data block into the storage medium of the memory chip, and can improve the writing efficiency without waiting for other data blocks to be received.
  • the first DM information block is used as the first data block in the N data blocks as an example, but the embodiment of the present application is not limited thereto.
  • the first DM information block may be N.
  • the intermediate block in the data block, or the first DM information block, may be the last one of the N data blocks.
  • the memory controller sends N data blocks to the memory chip as long as the first DM information block and all the non-masked data blocks in the data block to be written are included, and the embodiment of the present application does not send the N data.
  • the remaining data blocks in the data blocks are qualified.
  • the remaining data blocks in the N data blocks may include a mask data block or a preset data block. The specific form of transmitting N data blocks in the embodiment of the present application will be described in detail below.
  • the first mask data block in the data block to be written is the nth data block, and n is an integer greater than 0 and less than or equal to N;
  • the second to nth data blocks of the N data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th to the Nth of the N data blocks
  • the data blocks are the n+1th to Nthth data blocks in the data block to be written.
  • the N data blocks sent by the memory controller to the memory chip do not include the first one of the N data blocks to be written, and the N data blocks include the first DM information block and the N All data blocks except the first masked data block in the data block to be written.
  • the burst data amount is 64 bits
  • the data blocks to be written are data block 1 to data block 8, wherein each data block corresponds to 8-bit data.
  • the masked data block in the data block to be written includes data block 3, data block 4, data block 7, and data block 8.
  • the non-masked data block includes a data block 1, a data block 2, a data block 4, and a data block 5.
  • the DM information corresponding to the data block to be written is 00110011. When the value of the DM information bit is 0, it indicates that the corresponding data block is a non-masked data block, and when the DM information bit has a value of 1, it indicates that the corresponding data block is a masked data block.
  • the first mask data block in the data block to be written is the data block 3, and therefore, in the actual transmission, the data block 3 is not transmitted, and the remaining data blocks are transmitted.
  • the memory controller can sequentially transmit 8 data blocks through 8 cycles.
  • the first data block of the transmitted 8 data blocks is the first DM information block
  • the second data block transmitted corresponds to the data block 1 to be written
  • the third data block to be transmitted corresponds to the to-be-written data block.
  • Data block 2 the 4th to 8th data blocks of the transmission correspond to the data block 4 to the data block 8 to be written, respectively.
  • the memory controller can send the DM information according to the following preset rule: firstly, the DM information is transmitted, and then the memory controller finds the number to be written according to the DM information.
  • the first mask data block in the block that is, the data block 3 to be written
  • the data before the first masked mask data block ie, the data block 1 and the data block 2 to be written
  • sequentially transmitted after the DM information in sequence that is, the transmitted data block 2 and the data block 3 correspond to the data block 1 and the data block 2 to be written, and then the first mask data block is not transmitted
  • the data following the code data block that is, the data blocks 4 to 8 to be written, are sequentially transmitted in accordance with the position of the original data.
  • the method shown in FIG. 5 can be performed by a memory controller, and the method 500 shown in FIG. 5 includes:
  • the DM information is transmitted through the first data block.
  • the DM information is 00110011.
  • the memory controller determines the first masked data block in the data block to be written, for example, the first masked data block is the data block 3 to be written.
  • the memory controller sequentially determines whether the current data block to be written is from the first data to be written to the Nth data block to be written. Is the data block before the data block 3. If yes, step 540 is performed; if no, step 550 is performed.
  • the first data block is transmitted in sequence.
  • the data in the data block 1 to be written is transmitted in the second data block to be transmitted, due to the to-be-written
  • the data block 2 is the data before the first mask data block, so the data in the data block 2 to be written is transferred in the third data block of the transmission.
  • step 560 is performed, otherwise step 570 is performed.
  • the current data block to be written is not transmitted.
  • the data block to be written is the first mask data block, it is not transmitted.
  • step 590 is performed, and the transmission ends; otherwise, step 580 is performed.
  • the data block to be written is the data block after the first mask data block, the data is transmitted according to the original position of the data block to be written.
  • the DM transmission is realized without increasing the amount of data transmitted. It avoids extra transmission time and saves transmission resources.
  • the memory controller does not transmit the first mask data block
  • the memory controller may not The last masked data block is transmitted, that is, the transmitted N data blocks include all of the first DM information block and the data blocks to be written except the last mask data block.
  • the memory controller can transmit the N data blocks according to a similar rule of the first case. To avoid repetition, details are not described herein again.
  • the data block to be written has Z non-masked data blocks, wherein the Z is an integer greater than 0 and less than N;
  • the second to the Z+1th data blocks of the N data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2 to the Nth of the N data blocks
  • the data blocks are preset data blocks.
  • the N data blocks sent by the memory controller to the memory chip do not include the mask data blocks in the N data blocks to be written; the transmitted N data blocks include the first DM information block and the N data blocks. All non-masked data blocks in the data block to be written and preset data blocks.
  • the transmitted N data blocks include the first DM information block and the N-1 non-masked data blocks.
  • the transmitted N data blocks include the first DM information block and the Z non-mask databases. Block and NZ-1 preset data blocks.
  • the burst data amount is 64 bits
  • the data blocks to be written are data block 1 to data block 8, wherein each data block corresponds to 8-bit data.
  • the masked data block in the data block to be written includes data block 3, data block 4, data block 7, and data block 8.
  • the non-masked data block includes a data block 1, a data block 2, a data block 4, and a data block 5.
  • the DM information corresponding to the data block to be written is 00110011. When the value of the DM information bit is 0, it indicates that the corresponding data block is a non-masked data block, and when the DM information bit has a value of 1, it indicates that the corresponding data block is a masked data block.
  • the memory controller can sequentially transmit 8 data blocks through 8 cycles.
  • the first data block of the transmitted 8 data blocks is the first DM information block, and the 2nd to 5th data blocks transmitted correspond to the data block to be written and the data block to be written 2.
  • the data block 5 to be written and the data block 6 to be written, the 6th to 8th data blocks transmitted correspond to the preset data block.
  • the memory controller can send the DM information according to the following preset rules: firstly, the DM information is transmitted, and then the memory controller determines each data to be written according to the DM information. Whether the block masks the data block, if it is a masked data block, it does not transmit. If it is a non-masked data block, it is transmitted along with the previously transmitted data block. After the non-masked block transmission is completed, the remaining transport blocks may transmit the preset data block.
  • the preset data block includes 8 bits of 0, or 8 bits of 1. The embodiment of the present application is not limited thereto.
  • the method shown in FIG. 7 can be performed by a memory controller, and the method 700 shown in FIG. 7 includes:
  • the DM information is transmitted through the first data block.
  • the DM information is 00110011.
  • the memory controller sequentially determines whether the current data block to be written is a mask data block from the first data to be written to the Nth data block to be written. . If yes, step 730 is performed; if no, step 740 is performed.
  • the current data block to be written is not transmitted.
  • the data block to be written is a mask data block, it is not transmitted.
  • the data block transmitted before is transmitted.
  • step 760 is performed, and if the data block to be written is not transmitted, step 720 is performed.
  • step 780 is performed and the transmission ends. If the transmission period is the end, step 770 is performed.
  • the preset data block is transmitted until the end of the transmission period.
  • the DM transmission is realized without increasing the amount of data transmitted. It avoids extra transmission time and saves transmission resources.
  • the memory chip writes the non-masked data block in the data block to be written into the storage medium of the memory chip according to the indication of the first DM information block.
  • the preset rules in the first case and the second case are rules that are known in advance by the memory controller and the memory chip.
  • the memory chip After the memory controller sends the data block according to the preset rule, the memory chip acquires the N data blocks.
  • the mask data block and the non-mask data block in the N data blocks to be written may be determined according to the DM information, and the unmasked data in the received N data blocks may be decoded according to the preset rule.
  • the address of the block in the storage medium of the memory chip, and the non-masked data block in the data block to be written is written into the storage medium according to the decoded address.
  • the number of data blocks to be transmitted is eight, and the corresponding DM information is 8 bits, that is, the case where the data amount of one data block is exactly equal, but the embodiment of the present application is
  • the data block to be transmitted may also be 4 or 16 or the like.
  • the number of bits of the transmission information may correspond to the number of data blocks.
  • the N data blocks sent by the memory controller include only a small number of non-masked data blocks and the first DM information block, including more useless.
  • the default data block causes a waste of resources.
  • the method of the embodiment of the present application may further include:
  • the memory controller sends a second write command to the memory chip
  • the memory controller sends P data blocks to the memory chip according to the second write command, where one of the P data blocks is a second DM information block, and the second DM information block is used to indicate that the memory chip is
  • the second write command positions the K mask data blocks in the Q data blocks to be written, the P data blocks include non-masked data blocks in the Q data blocks, where the Q data blocks
  • the second write command may be a write command with a burst chop attribute or a flag
  • the burst length corresponding to the second write command is half of the burst length corresponding to the first write command, for example
  • the data blocks to be written are data block 1 to data block 8, wherein each data block corresponds to 8-bit data.
  • the mask data block in the data block to be written includes data block 3, data block 4, data block 5, data block 7, and data block 8.
  • the non-masked data block includes data block 1, data block 2, and data block 4.
  • the DM information corresponding to the data block to be written is 00111011. When the value of the DM information bit is 0, it indicates that the corresponding data block is a non-masked data block, and when the DM information bit has a value of 1, it indicates that the corresponding data block is a masked data block.
  • the memory controller can sequentially transfer 4 data blocks through 4 cycles.
  • the first data block of the transmitted 4 data blocks is a first DM information block
  • the 2nd to 4th data blocks transmitted correspond to the data block to be written, the data block 2 to be written, and Data block 6 to be written.
  • FIG. 8 describes the case where P is exactly equal to M+1, that is, the number M of non-masked data blocks to be written is exactly equal to P-1.
  • the first DM information block plus the M non-masked data blocks happens to fill the N data blocks.
  • a preset data block may also be included in the P data blocks.
  • the memory controller may send the DM information according to the following preset rule: firstly, the DM information is transmitted, and then the memory controller determines whether each data block to be written is masked according to the DM information.
  • the code data block is not transmitted if it is a masked data block, and if it is a non-masked data block, it is transmitted along with the previously transmitted data block.
  • the remaining transport blocks may transmit the preset data block.
  • the preset data block includes 8 bits of 0, or 8 bits of 1.
  • the embodiment of the present application is not limited thereto.
  • the memory chip can determine the N data blocks to be written according to the DM information.
  • the mask data block and the non-mask data block can decode the address of the non-masked data block in the received P data block in the storage medium of the memory chip according to the preset rule, and according to the decoded An address that writes the non-masked data block in the data block to be written into the storage medium.
  • the present application when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
  • the embodiment of the present application is not limited to ⁇ 4 DRAM, for example, The method of the embodiment of the present application can also be applied to the X8 DRAM.
  • the idle DQS in the ⁇ 8 DRAM can be used to implement the method for transmitting the DM information.
  • the method may not Using the redundant DQS pins to transmit DM information can reduce the amount of pins used, save pin resources, and improve computer performance.
  • the memory chip is a DRAM chip as an example, but the embodiment of the present application is not limited thereto.
  • the memory chip may also be other types of chips, such as a nonvolatile A memory (none volatile memory (NVM) chip, etc., for example, the memory chip may include a phase change memory (phase Change memory, PCM) chip, resistive memory (RRAM) chip.
  • phase Change memory phase Change memory, PCM
  • RRAM resistive memory
  • FIG. 9 is a schematic structural diagram of a memory controller according to an embodiment of the present application.
  • the memory controller shown in FIG. 9 can receive a read/write request of the CPU, and reads and writes the memory according to the acquired read/write request.
  • the memory controller 900 shown in FIG. 9 includes:
  • the front-end interface 910 is connected to a processor in the computer system, and the front-end interface is configured to receive a write request of the processor, where the write request includes a data block to be written, and the number of the data block to be written is N.
  • N is an integer greater than or equal to 2;
  • the memory bus interface 920 is connected to the memory chip through a double rate DDR bus, and the memory bus interface is used for:
  • the number of data blocks to be written is N, and N is an integer greater than or equal to 2;
  • the memory bus interface sends N data blocks to the memory chip according to the first write command write request, wherein one of the N data blocks is a first DM information block, and the first DM information block is used by the first DM information block. And indicating a location of the masked data block in the N data blocks to be written, the N data blocks including the non-masked data blocks in the N data blocks to be written.
  • the memory controller 900 may further include a control circuit that can generate a first write command according to a write request received by the front end port 910 and control the memory bus interface 920 to pass the double rate DDR.
  • the bus sends a first write command to the memory chip and transmits the N data blocks.
  • the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written.
  • the non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
  • the first DM information block is the first data block of the N data blocks.
  • the first mask data block in the data block to be written is the nth data block, where n is greater than 0 and less than or equal to N;
  • the second to nth data blocks of the N data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th to the Nth of the N data blocks
  • the data blocks are the n+1th to Nthth data blocks in the data block to be written.
  • the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N;
  • the second to the Z+1th data blocks of the N data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2 to the Nth of the N data blocks
  • the data blocks are preset data blocks.
  • the memory bus interface is further configured to send a second write command to the memory chip. And sending, according to the second write command, P data blocks to the memory chip, where one of the P data blocks is a second DM information block, and the second DM information block is used to indicate that the memory chip is according to the second Writing a command to the position of the K mask data blocks in the Q data blocks to be written, the P data blocks including the non-masked data blocks in the Q data blocks, wherein the non-masked data blocks in the Q data blocks
  • the present application when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
  • the memory controller 900 can implement the various processes performed by the memory controller in the method embodiments of FIGS. 2-8.
  • the operations and/or functions of the various modules in the memory controller 900 are respectively implemented in order to implement the corresponding processes in the method embodiments of FIG. 2 to FIG.
  • the detailed description is omitted here.
  • FIG. 10 is a schematic structural diagram of a memory chip according to an embodiment of the present application.
  • the memory chip shown in FIG. 10 can receive read and write commands sent by the memory controller, and perform read and write processing according to the read and write commands.
  • the memory chip 1000 shown in FIG. 10 includes:
  • a storage medium 1010 configured to store data
  • the media controller 1020 is connected to the memory controller in the computer system through a double rate DDR bus.
  • the first write command includes first indication information, where the first indication information is used to indicate that the data block to be written has a mask a code data block, the number of data blocks to be written is N, and N is an integer greater than or equal to 2;
  • the N data blocks sent by the memory controller according to the first write command where the data block of the N data blocks is a first DM information block, the first DM information a block is used to indicate a location of a masked data block in the N data blocks to be written, the N data blocks including non-masked data blocks in the data block to be written,
  • the media controller writes the non-masked data block in the data block to be written into the storage medium according to the indication of the first DM information block.
  • the media controller 1020 may include a control circuit, a communication interface, and a buffer.
  • the media controller may receive the first write command and the N data blocks through the communication interface, and the control circuit may The data block is stored in the buffer, and the non-masked data block is selected from the N data blocks and written into the storage medium according to the DM information.
  • the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written.
  • the non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
  • the memory chip in the embodiment of the present application may include a DRAM chip, a PCM chip, or a RRAM chip, etc., and the embodiment of the present application is not limited thereto.
  • the first DM information block is the first data block of the N data blocks.
  • the first mask data block in the data block to be written is the nth data block, where n is greater than 0 and less than or equal to N;
  • the second to nth data blocks of the N data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th to the Nth of the N data blocks
  • the data blocks are the n+1th to Nthth data blocks in the data block to be written.
  • the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N;
  • the second to the Z+1th data blocks of the N data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2 to the Nth of the N data blocks
  • the data blocks are preset data blocks.
  • the media controller is further configured to receive a second write command sent by the memory controller
  • the media controller is further configured to receive P data blocks sent by the memory controller, where one of the P data blocks is a second DM information block, where the second DM information block is used to indicate that the memory chip is configured according to the
  • the medium controller is further configured to write the non-masked data block of the Q data blocks to be written into the storage medium according to the indication of the second DM information.
  • the present application when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
  • the memory chip 1000 can implement the various processes performed by the memory chip in the method embodiments of FIGS. 2-8.
  • the operations and/or functions of the various modules in the memory chip 1000 are respectively implemented in order to implement the corresponding processes in the method embodiments of FIG. 2 to FIG.
  • the detailed description is omitted here.
  • FIG. 11 is a schematic structural diagram of a computer system of an embodiment of the present application.
  • the computer system 1100 of FIG. 11 includes the memory controller 900 depicted in FIG. 9, and the memory chip 1000 depicted in FIG.
  • the memory controller is connected to the memory chip through a double rate DDR bus.
  • the memory controller sends a first write command to the memory chip through the DDR bus, where the first write command includes first indication information, where the first indication information is used to indicate that the data block to be written has mask data.
  • the first write command includes first indication information, where the first indication information is used to indicate that the data block to be written has mask data.
  • a block the number of data blocks to be written is N, and N is an integer greater than or equal to 2;
  • the memory controller sends N data blocks to the memory chip through the DDR bus according to the first write command, wherein one of the N data blocks is a first DM information block, and the first DM information block is used by the first DM information block. And indicating a location of the mask data block in the data block to be written, the N data blocks including the non-masked data blocks in the N data blocks to be written;
  • the memory chip writes the non-masked data block in the data block to be written into the storage medium of the memory chip according to the indication of the first DM information block.
  • the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written.
  • the non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
  • a buffer or other medium may also be included in the computer system 1100 of the embodiment of the present application.
  • the memory controller and the memory chip can be connected through the buffer or the media controller.
  • the memory controller is connected to a buffer or a media controller; a buffer or a media controller memory connection.
  • the first DM information block is the first data block of the N data blocks.
  • the first mask data block in the data block to be written is the nth data block, and n is an integer greater than 0 and less than or equal to N;
  • the second to nth data blocks of the N data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th to the Nth of the N data blocks
  • the data blocks are the n+1th to Nthth data blocks in the data block to be written.
  • the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N;
  • the second to the Z+1th data blocks of the N data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2 to the Nth of the N data blocks
  • the data blocks are preset data blocks.
  • the memory controller is further configured to send a second write command to the memory chip
  • the memory controller is further configured to send P data blocks to the memory chip according to the second write command, where one of the P data blocks is a second DM information block, and the second DM information block is used to indicate
  • the memory chip is further configured to write the non-masked data block of the Q data blocks to be written into the storage medium according to the indication of the second DM information block.
  • the present application when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the unit described as a separate component may or may not be physically separated as a unit display
  • the components may or may not be physical units, ie may be located in one place, or may be distributed over multiple network elements. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product.
  • the technical solution of the present application which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program code. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

The present application provides a data mask (DM) transmission method, a memory controller, a memory chip, and a computer system. The method comprises: a memory controller transmits a first write command to a memory chip, wherein the first write command comprises first indication information, the first indication information is used to indicate that data blocks to be written comprise a masked data block, the number of data blocks to be written is N, wherein N is an integer greater than or equal to 2; and the memory controller sends, according to the first write command, the N data blocks to the memory chip, wherein one of the N data blocks is a first DM information block, the first DM information block is used to indicate the location of the masked data block in the data blocks to be written, and the N data blocks comprise a non-masked data block among the data blocks to be written. The embodiments of the present application realize transmission of a DM without adding a pin.

Description

传输数据掩码的方法、内存控制器、内存芯片和计算机系统Method for transmitting data mask, memory controller, memory chip and computer system 技术领域Technical field
本申请涉及计算机领域,并且更具体地,涉及传输数据掩码的方法、内存芯片和计算机系统。The present application relates to the field of computers and, more particularly, to a method of transmitting a data mask, a memory chip, and a computer system.
背景技术Background technique
现有的计算机内存中最常用的存储介质是动态随机存取存储器(dynamic random access memory,DRAM)。计算机的内存常采用双列直插式存储模块(dual inline memory modules,DIMM)的形式,内存控制器和DIMM之间一般通过双倍速率(double data rate,DDR)总线相连。内存控制器可以通过内存控制器和DIMM之间的DDR总线对DRAM中的数据进行访问。The most commonly used storage medium in existing computer memory is dynamic random access memory (DRAM). The memory of the computer is often in the form of dual inline memory modules (DIMMs), and the memory controller and the DIMM are generally connected by a double data rate (DDR) bus. The memory controller can access the data in the DRAM through the DDR bus between the memory controller and the DIMM.
DDR的DRAM内存芯片通常具有数据掩码(data mask,DM)管脚,DM管脚用来表示当前周期的写数据是否是被掩码(masked)。例如DDR4标准中就具有DM_n管脚,在DM_n管脚为低的时候表示当前和DM_n管脚同一时刻采样的数据是无效的。然而,×4DRAM(即DRAM芯片的位宽为4位)并不具有DM功能。×4DRAM组成的DIMM容量高,通常用在对性能要求高的服务器场合,如果能有办法在不增加管脚的前提下解决×4DRAM的DM传输,将会有利于提高服务器的性能。The DDR DRAM memory chip usually has a data mask (DM) pin, and the DM pin is used to indicate whether the write data of the current cycle is masked. For example, the DDR4 standard has a DM_n pin, and when the DM_n pin is low, it indicates that the data currently sampled at the same time as the DM_n pin is invalid. However, the ×4 DRAM (that is, the bit width of the DRAM chip is 4 bits) does not have the DM function. The DIMMs composed of ×4 DRAMs have high capacity and are usually used in servers with high performance requirements. If there is a way to solve the DM transmission of ×4 DRAM without increasing the pins, it will be beneficial to improve the performance of the server.
因此,如何在不增加管脚的前提下实现DM的传输,成为亟待解决的问题。Therefore, how to realize the transmission of DM without increasing the pin has become an urgent problem to be solved.
发明内容Summary of the invention
本申请提供一种传输数据掩码的方法、内存控制器、内存芯片和计算机系统,能够在不增加管脚的前提下实现DM的传输。The application provides a method for transmitting a data mask, a memory controller, a memory chip and a computer system, which can realize the transmission of the DM without increasing the pin.
第一方面,提供了一种一种传输数据掩码DM的方法,该方法包括:内存控制器向内存芯片发送第一写命令,该第一写命令中包含有第一指示信息,该第一指示信息用于指示待写入的数据块中具有掩码数据块,该待写入的数据块的个数为N,N为大于或等于2的整数;该内存控制器根据该第一写命令向该内存芯片发送N个数据块,其中,该N个数据块中的一个数据块为第一DM信息块,该第一DM信息块用于指示该待写入的数据块中的掩码数据块的位置,该N个数据块包括该待写入的数据块中的非掩码数据块。The first aspect provides a method for transmitting a data mask DM, the method includes: the memory controller sends a first write command to the memory chip, where the first write command includes first indication information, where the first The indication information is used to indicate that the data block to be written has a mask data block, the number of the data block to be written is N, N is an integer greater than or equal to 2; the memory controller is configured according to the first write command Sending N data blocks to the memory chip, where one of the N data blocks is a first DM information block, the first DM information block is used to indicate mask data in the data block to be written The location of the block, the N data blocks including non-masked data blocks in the data block to be written.
因此,本申请实施例通过将传输的N个数据块中的一个数据块作为DM信息块,在不增加管脚的情况下实现了DM的传输,并且该N个数据块中包括有待写入数据块中的非掩码数据块,能够保证有用数据的传输的基础上,实现在不增加传输的数据量的情况下DM的传输,能够避免了额外的传输时间,节省传输资源。Therefore, in the embodiment of the present application, by using one of the N data blocks to be transmitted as a DM information block, the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written. The non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
应理解,本申请实施例中,该第一DM信息块可以包括N个比特的DM信息,其中该N个比特与N个待写入的数据块具有一一对应关系。也就是说DM信息中的每个比特对应一个待写入的数据块(也可以称为原始数据块)。It should be understood that, in this embodiment of the present application, the first DM information block may include N bits of DM information, where the N bits have a one-to-one correspondence with the N data blocks to be written. That is to say, each bit in the DM information corresponds to a data block to be written (which may also be referred to as an original data block).
通过第一DM信息,内存控制器可以通知内存芯片N个待写入的数据块中哪些为掩码数据块,哪些为非掩码数据块,例如,在待写入的数据块对应的比特为0时,可以表示该待写入的数据块为非掩码数据块,在待写入的数据块对应的比特为1时,可以表示该待写入的数据块为掩码数据块。 Through the first DM information, the memory controller can notify the memory chip which of the N data blocks to be written are mask data blocks and which are non-mask data blocks. For example, the corresponding bit of the data block to be written is 0, it can be said that the data block to be written is a non-masked data block, and when the bit corresponding to the data block to be written is 1, it can indicate that the data block to be written is a mask data block.
应理解,第一DM信息块可以为发送的N个数据块中的任意一个数据块,本申请实施例并不对此做限定。It should be understood that the first DM information block may be any one of the N data blocks that are sent, which is not limited by the embodiment of the present application.
应理解,本申请实施例中该内存芯片可以包括DRAM芯片、相变存储器(Phase change memory,PCM)芯片或阻变存储器(resistive random access memory,RRAM)芯片等,本申请实施例并不限于此。It should be understood that the memory chip in the embodiment of the present application may include a DRAM chip, a phase change memory (PCM) chip, or a resistive random access memory (RRAM) chip, etc., and the embodiment of the present application is not limited thereto. .
可选地,在第一方面的一种实现方式中,该第一DM信息块为该N个数据块中的第一个数据块。Optionally, in an implementation manner of the first aspect, the first DM information block is the first data block of the N data blocks.
本申请实施例中,通过在第一个数据块传输DM信息,使得内存芯片根据该DM信息能够知道后续接收到的数据块是否是掩码块,这样,在接收到数据块后,如果该数据块为非掩码数据块,该内存芯片可以直接将该非掩码数据块写入该内存芯片的存储介质中,无需等待其他数据块的接收,能够提升写效率。In the embodiment of the present application, the DM information is transmitted in the first data block, so that the memory chip can know whether the subsequently received data block is a mask block according to the DM information, so that after receiving the data block, if the data is received, The block is a non-masked data block, and the memory chip can directly write the non-masked data block into the storage medium of the memory chip, and can improve the writing efficiency without waiting for other data blocks to be received.
应理解,本申请实施例中,存储介质也可以称为存储阵列,本申请实施例并不限于此。It should be understood that, in the embodiment of the present application, the storage medium may also be referred to as a storage array, and the embodiment of the present application is not limited thereto.
可选地,在第一方面的一种实现方式中,该待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N的整数;该N个数据块中的第2至第n个数据块为该待写入的数据块中的第1至第n-1个数据块,该N个数据块中的第n+1至第N个数据块为该待写入的数据块中的第n+1至第N个数据块。Optionally, in an implementation manner of the first aspect, the first mask data block in the data block to be written is the nth data block, and n is an integer greater than 0 and less than or equal to N; The 2nd to nth data blocks in the data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th to the Nth data in the N data blocks The block is the n+1th to Nthth data block in the data block to be written.
也就是说,内存控制器向内存芯片发送的N个数据块中不包括N个待写入的数据块中的第一个掩码数据块,该N个数据块包括第一DM信息块和N个待写入的数据块中除第一个掩码数据块之外的所有数据块。That is, the N data blocks sent by the memory controller to the memory chip do not include the first one of the N data blocks to be written, and the N data blocks include the first DM information block and the N All data blocks except the first masked data block in the data block to be written.
应理解,本申请实施例中待写入数据块也可以称为原始数据块,N个待写入数据块可以称为N个原始数据块,该N个原始数据块中不包括DM信息块。N个待写入的数据块与内存控制器发送的N个数据块(实际传输的数据块)不同,发送的N个数据块中包括DM信息块。It should be understood that the data block to be written in the embodiment of the present application may also be referred to as an original data block, and the N data blocks to be written may be referred to as N original data blocks, and the DM information blocks are not included in the N original data blocks. The N data blocks to be written are different from the N data blocks (the actually transmitted data blocks) sent by the memory controller, and the transmitted N data blocks include DM information blocks.
具体而言,内存控制器可以按照如下预设规则发送DM信息:首先传输DM信息,之后内存控制器会根据DM信息找到待写入的数据块中的第一个掩码数据块,即待写入的数据块3,在第一个被掩码的掩码数据块之前的数据(即待写入的数据块1和数据块2),按照顺序接在DM信息之后依次发送,即发送的数据块2和数据块3对应待写入的数据块1和数据块2,然后,第一个掩码数据块不传输,第一个掩码数据块之后的数据,即待写入的数据块4至8,按照原始数据的位置,依次发送。Specifically, the memory controller may send the DM information according to the following preset rule: firstly, the DM information is transmitted, and then the memory controller finds the first mask data block in the data block to be written according to the DM information, that is, to be written. The incoming data block 3, the data before the first masked mask data block (ie, the data block 1 and the data block 2 to be written) are sequentially transmitted after the DM information, that is, the transmitted data. Block 2 and data block 3 correspond to data block 1 and data block 2 to be written, and then the first mask data block is not transmitted, and the data after the first mask data block, that is, the data block to be written 4 To 8, according to the location of the original data, send in order.
因此,本申请实施例通过摒弃传输BL对应的数据块(可以称为待写入的数据块或原始数据块)中的第一个掩码数据块的数据,通过增加传输一个DM信息块,在不增加传输的数据量的基础上实现了DM的传输,避免了额外的传输时间,能够节省传输资源。Therefore, the embodiment of the present application discards the data of the first mask data block in the data block corresponding to the transmission BL (which may be referred to as a data block or an original data block to be written), by adding a DM information block, The transmission of the DM is realized on the basis of not increasing the amount of data transmitted, avoiding additional transmission time and saving transmission resources.
应理解,上文描述的情况一中,描述了内存控制器不传输第一个掩码数据块的情况,但本申请实施例并不限于此,例如,在实际应用中,内存控制器可以不传输最后一个掩码数据块,即传输的N个数据块包括第一DM信息块和待写入的个数据块中除最后一个掩码数据块之外的所有数据块。相应地,内存控制器可以按照情况一的类似规则传输该N个数据块,为了避免重复,此处不再赘述。It should be understood that in the first case described above, the case where the memory controller does not transmit the first mask data block is described, but the embodiment of the present application is not limited thereto. For example, in practical applications, the memory controller may not The last masked data block is transmitted, that is, the transmitted N data blocks include all of the first DM information block and the data blocks to be written except the last mask data block. Correspondingly, the memory controller can transmit the N data blocks according to a similar rule of the first case. To avoid repetition, details are not described herein again.
可选地,在第一方面的一种实现方式中,该待写入的数据块中具有Z个非掩码数据块,其中,该Z为大于0且小于N的整数;该N个数据块中的第2至第Z+1个数据块为 该Z个非掩码数据块,当Z小于等于N-2时,该N个数据块中的第Z+2至第N个数据块为预设数据块。Optionally, in an implementation manner of the first aspect, the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N; the N data blocks The 2nd to Z+1th data blocks in the The Z non-masked data blocks, when Z is less than or equal to N-2, the Z+2th to Nth data blocks of the N data blocks are preset data blocks.
也就是说,内存控制器向内存芯片发送的N个数据块(实际传输的N个数据块)中不包括N个待写入的数据块(也可以称为原始数据块)中的掩码数据块,该N个数据块包括第一DM信息块和N个待写入的数据块中的所有非掩码数据块以及预设数据块。That is to say, the N data blocks (the actually transmitted N data blocks) sent by the memory controller to the memory chip do not include the mask data in the N data blocks to be written (which may also be referred to as original data blocks). Block, the N data blocks include a first DM information block and all non-masked data blocks in the N data blocks to be written and a preset data block.
应理解,当待写入的数据块中包括仅包括一个掩码数据块时,传输的N个数据块中包括第一DM信息块和N-1个非掩码数据块。当待写入的数据块中包括包括多个掩码数据块时,例如,包括N-Z个掩码数据块,那么该传输的N个数据块中包括第一DM信息块、Z个非掩码数据库块和N-Z-1个预设数据块。It should be understood that when only one masked data block is included in the data block to be written, the transmitted N data blocks include the first DM information block and the N-1 non-masked data blocks. When the data block to be written includes multiple mask data blocks, for example, including NZ mask data blocks, the transmitted N data blocks include the first DM information block and the Z non-mask databases. Block and NZ-1 preset data blocks.
具体而言,内存控制器可以按照如下预设规则发送DM信息:首先传输DM信息,之后内存控制器会根据DM信息判断每一个待写入的数据块是否掩码数据块,如果是掩码数据块则不传输,如果是非掩码数据块,则跟着前面传输的数据块传输。在非掩码块传输完成之后,剩余的传输块可以传输预设数据块,例如,预设数据块包括8比特的0,或8比特的1,本申请实施例并不限于此。Specifically, the memory controller may send the DM information according to the following preset rule: firstly, the DM information is transmitted, and then the memory controller determines, according to the DM information, whether each data block to be written is a masked data block, if it is a mask data. The block is not transmitted, and if it is a non-masked data block, it is transmitted along with the previously transmitted data block. After the non-masked block transmission is completed, the remaining transport blocks may transmit the preset data block. For example, the preset data block includes 8 bits of 0, or 8 bits of 1. The embodiment of the present application is not limited thereto.
因此,本申请实施例通过摒弃传输BL对应的数据块中的第一个掩码数据块的数据,通过增加传输一个DM信息块,在不增加传输的数据量的基础上实现了DM的传输,避免了额外的传输时间,能够节省传输资源。Therefore, in the embodiment of the present application, by discarding the data of the first mask data block in the data block corresponding to the transmission BL, by transmitting a DM information block, the DM transmission is realized without increasing the amount of data transmitted. It avoids extra transmission time and saves transmission resources.
可选地,在第一方面的一种实现方式中,该方法还包括:该内存控制器向该内存芯片发送第二写命令;该内存控制器根据该第二写命令向该内存芯片发送P个数据块,该P个数据块中的一个数据块为第二DM信息块,该第二DM信息块用于指示该内存芯片根据该第二写命令待写入的Q个数据块中的K个掩码数据块的位置,该P个数据块包括该Q个数据块中的非掩码数据块,其中,该Q个数据块中的非掩码数据块的个数为M,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q。Optionally, in an implementation manner of the first aspect, the method further includes: the memory controller sends a second write command to the memory chip; the memory controller sends a P to the memory chip according to the second write command. a data block, one of the P data blocks is a second DM information block, the second DM information block is used to indicate K in the Q data blocks to be written by the memory chip according to the second write command. The position of the masked data block, the P data block includes the non-masked data block of the Q data blocks, wherein the number of the non-masked data blocks in the Q data blocks is M, Q=N , P=Q/2, K is greater than or equal to Q/2+1, and M is an integer greater than 0 and less than or equal to P-1, and M+K=Q.
应理解,该第二写命令可以为带有突发突变(burst chop)属性或者标志的写命令,该第二写命令对应的突发长度为第一写命令对应的突发长度的一半。It should be understood that the second write command may be a write command with a burst chop attribute or a flag, and the burst length corresponding to the second write command is half of the burst length corresponding to the first write command.
因此,本申请实施例在待传输的掩码数据块的数量大于或等于Q/2+1时,由于最多需要Q/2个数据块即可把有用的数据块传输完成,因此,本申请实施例中在这种情况下,将突发长度减半,在实现DM传输的情况下,进一步减小了资源的浪费,能够提升计算机性能。Therefore, in the embodiment of the present application, when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
第二方面,提供了一种传输数据掩码DM的方法,应理解,第二方面的方法与第一方面对应,区别在于,第二方面从内存芯片侧描述了本申请实施例的传输DM的方法,第一方面从内存控制器侧描述了本申请实施例的传输DM的方法,第二方面的相应特征可以参见第一方面中的描述,为了避免重复,此处适当省略详细描述。The second aspect provides a method for transmitting a data mask DM. It should be understood that the method of the second aspect corresponds to the first aspect, and the second aspect describes the transmission DM of the embodiment of the present application from the memory chip side. The method of the first aspect of the present invention describes a method for transmitting a DM according to an embodiment of the present application. For the corresponding features of the second aspect, reference may be made to the description in the first aspect. To avoid repetition, the detailed description is omitted here.
应理解,本申请实施例中该内存芯片可以包括DRAM芯片、PCM芯片或RRAM芯片等,本申请实施例并不限于此。It should be understood that the memory chip in the embodiment of the present application may include a DRAM chip, a PCM chip, or a RRAM chip, etc., and the embodiment of the present application is not limited thereto.
具体的,在第二方面中,该传输DM的方法方法包括:内存芯片接收内存控制器发送的第一写命令,该第一写命令中包含有第一指示信息,该第一指示信息用于指示待写入的数据块中具有掩码数据块,该待写入的数据块的个数为N,N为大于或等于2的整数;该内存芯片接收该内存控制器根据该第一写命令发送的N个数据块,其中,该N个数据块中的一个数据块为第一DM信息块,该第一DM信息块用于指示该待写入的数据 块中的掩码数据块的位置,该N个数据块包括该待写入的数据块中的非掩码数据块,该内存芯片根据该第一DM信息块的指示,将该待写入的数据块中的非掩码数据块写入该内存芯片的存储介质中。Specifically, in the second aspect, the method for transmitting the DM includes: receiving, by the memory chip, a first write command sent by the memory controller, where the first write command includes first indication information, where the first indication information is used. Indicates that the data block to be written has a mask data block, the number of the data block to be written is N, N is an integer greater than or equal to 2; the memory chip receives the memory controller according to the first write command Sending N data blocks, where one of the N data blocks is a first DM information block, the first DM information block is used to indicate the data to be written a location of the masked data block in the block, the N data blocks including the non-masked data block in the data block to be written, the memory chip, according to the indication of the first DM information block, the to-be-written The non-masked data block in the data block is written in the storage medium of the memory chip.
具体的,内存芯片获取到该N个数据块后,可以根据DM信息确定出待写入的N个数据块中的掩码数据块和非掩码数据块,并可以按照预设规则解码出接收到的N个数据块中的非掩码数据块在内存芯片的存储介质中的地址,并根据解码出的地址,将该待写入的数据块中的非掩码数据块写入存储介质中。Specifically, after acquiring the N data blocks, the memory chip may determine the mask data block and the non-mask data block in the N data blocks to be written according to the DM information, and may decode and receive according to a preset rule. An address of the non-masked data block of the N data blocks in the storage medium of the memory chip, and writing the non-masked data block in the data block to be written into the storage medium according to the decoded address .
因此,本申请实施例通过将传输的N个数据块中的一个数据块作为DM信息块,在不增加管脚的情况下实现了DM的传输,并且该N个数据块中包括有待写入数据块中的非掩码数据块,能够保证有用数据的传输的基础上,实现在不增加传输的数据量的情况下DM的传输,能够避免了额外的传输时间,节省传输资源。Therefore, in the embodiment of the present application, by using one of the N data blocks to be transmitted as a DM information block, the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written. The non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
可选地,在第二方面的一种实现方式中,该第一DM信息块为该N个数据块中的第一个数据块。Optionally, in an implementation manner of the second aspect, the first DM information block is the first data block of the N data blocks.
可选地,在第二方面的一种实现方式中,该待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N的整数;该N个数据块中的第2至第n个数据块为该待写入的数据块中的第1至第n-1个数据块,该N个数据块中的第n+1至第N个数据块为该待写入的数据块中的第n+1至第N个数据块。Optionally, in an implementation manner of the second aspect, the first mask data block in the data block to be written is the nth data block, and n is an integer greater than 0 and less than or equal to N; The 2nd to nth data blocks in the data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th to the Nth data in the N data blocks The block is the n+1th to Nthth data block in the data block to be written.
可选地,在第二方面的一种实现方式中,该待写入的数据块中具有Z个非掩码数据块,其中,该Z为大于0且小于N的整数;该N个数据块中的第2至第Z+1个数据块为该Z个非掩码数据块,当Z小于等于N-2时,该N个数据块中的第Z+2至第N个数据块为预设数据块。Optionally, in an implementation manner of the second aspect, the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N; the N data blocks The second to the Z+1th data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2th to Nth data blocks in the N data blocks are pre- Set the data block.
可选地,在第二方面的一种实现方式中,该方法还包括:该内存芯片接收该内存控制器发送的第二写命令;该内存芯片接收该内存控制器根据该第二写命令发送的P个数据块,该P个数据块中的一个数据块为第二DM信息块,该第二DM信息块用于指示该内存芯片根据该第二写命令待写入的Q个数据块中的K个掩码数据块的位置,该P个数据块包括该Q个数据块中的非掩码数据块,其中,该Q个数据块中的非掩码数据块的个数为M,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q;该内存芯片根据该第二DM信息块的指示,将该待写入的Q个数据块中的非掩码数据块写入该存储介质中。Optionally, in an implementation manner of the second aspect, the method further includes: the memory chip receiving a second write command sent by the memory controller; the memory chip receiving the memory controller to send according to the second write command P data blocks, one of the P data blocks is a second DM information block, the second DM information block is used to indicate that the memory chip is to be written in the Q data blocks according to the second write command. The position of the K mask data blocks, the P data blocks include non-masked data blocks in the Q data blocks, wherein the number of non-masked data blocks in the Q data blocks is M, Q =N, P=Q/2, K is greater than or equal to Q/2+1, M is an integer greater than 0 and less than or equal to P-1, M+K=Q; the memory chip is in accordance with the indication of the second DM information block And writing the non-masked data block of the Q data blocks to be written into the storage medium.
具体的,内存芯片获取到该P个数据块后,可以根据DM信息确定出待写入的N个数据块中的掩码数据块和非掩码数据块,并可以按照该预设规则解码出接收到的P个数据块中的非掩码数据块在内存芯片的存储介质中的地址,并根据解码出的地址,将该待写入的数据块中的非掩码数据块写入存储介质中。Specifically, after acquiring the P data blocks, the memory chip may determine the mask data block and the non-mask data block in the N data blocks to be written according to the DM information, and may decode the data according to the preset rule. An address of the non-masked data block in the received P data block in the storage medium of the memory chip, and writing the non-masked data block in the data block to be written into the storage medium according to the decoded address in.
因此,本申请实施例在待传输的掩码数据块的数量大于或等于Q/2+1时,由于最多需要Q/2个数据块即可把有用的数据块传输完成,因此,本申请实施例中在这种情况下,将突发长度减半,在实现DM传输的情况下,进一步减小了资源的浪费,能够提升计算机性能。Therefore, in the embodiment of the present application, when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
第三方面,提供了一种内存控制器,应理解,第三方面的内存控制器与第一方面对应,该内存控制器能够实现第一方面中由内存控制器完成的方法,内存控制器的各个各个模块的操作和/或功能可以参见第一方面的描述,为了避免重复此处适当省略详细描 述。In a third aspect, a memory controller is provided. It should be understood that the memory controller of the third aspect corresponds to the first aspect, and the memory controller is capable of implementing the method implemented by the memory controller in the first aspect, the memory controller For the operation and/or function of each module, refer to the description of the first aspect. In order to avoid repetition, detailed description is omitted here. Said.
具体的该内存控制器包括:前端接口,连接计算机系统中的处理器,该前端接口用于接收该处理器的写请求,该写请求中包含有待写入的数据块,该待写入的数据块的个数为N,N为大于或等于2的整数;内存总线接口,通过双倍速率DDR总线与内存芯片相连,该内存总线接口用于:根据该写请求向该内存芯片发送第一写命令,该第一写命令中包含有第一指示信息,该第一指示信息用于指示该待写入的数据块中具有掩码数据块;根据该第一写命令向该内存芯片发送N个数据块,其中,该N个数据块中的一个数据块为第一DM信息块,该第一DM信息块用于指示该N个待写入的数据块中的掩码数据块的位置,该N个数据块包括该待写入的数据块中的非掩码数据块。Specifically, the memory controller includes: a front end interface connected to a processor in the computer system, the front end interface is configured to receive a write request of the processor, where the write request includes a data block to be written, and the data to be written The number of blocks is N, N is an integer greater than or equal to 2; the memory bus interface is connected to the memory chip through a double rate DDR bus, and the memory bus interface is configured to: send a first write to the memory chip according to the write request a command, the first write command includes first indication information, where the first indication information is used to indicate that the data block to be written has a mask data block, and send N to the memory chip according to the first write command. a data block, wherein one of the N data blocks is a first DM information block, where the first DM information block is used to indicate a location of the mask data block in the N data blocks to be written, The N data blocks include non-masked data blocks in the data block to be written.
因此,本申请实施例通过将传输的N个数据块中的一个数据块作为DM信息块,在不增加管脚的情况下实现了DM的传输,并且该N个数据块中包括有待写入数据块中的非掩码数据块,能够保证有用数据的传输的基础上,实现在不增加传输的数据量的情况下DM的传输,能够避免了额外的传输时间,节省传输资源。Therefore, in the embodiment of the present application, by using one of the N data blocks to be transmitted as a DM information block, the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written. The non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
可选地,在第三方面的一种实现方式中,该第一DM信息块为该N个数据块中的第一个数据块。Optionally, in an implementation manner of the third aspect, the first DM information block is the first data block of the N data blocks.
可选地,在第三方面的一种实现方式中,该待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N;该N个数据块中的第2至第n个数据块为该待写入的数据块中的第1至第n-1个数据块,该N个数据块中的第n+1至第N个数据块为该待写入的数据块中的第n+1至第N个数据块。Optionally, in an implementation manner of the third aspect, the first mask data block in the data block to be written is the nth data block, where n is greater than 0 and less than or equal to N; the N data The second to nth data blocks in the block are the first to n-1th data blocks in the data block to be written, and the n+1th to Nth data blocks in the N data blocks are The n+1th to Nthth data blocks in the data block to be written.
可选地,在第三方面的一种实现方式中,该待写入的数据块中具有Z个非掩码数据块,其中,该Z为大于0且小于N的整数;该N个数据块中的第2至第Z+1个数据块为该Z个非掩码数据块,当Z小于等于N-2时,该N个数据块中的第Z+2至第N个数据块为预设数据块。Optionally, in an implementation manner of the third aspect, the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N; the N data blocks The second to the Z+1th data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2th to Nth data blocks in the N data blocks are pre- Set the data block.
可选地,在第三方面的一种实现方式中,该内存总线接口还用于向该内存芯片发送第二写命令,并根据该第二写命令向该内存芯片发送P个数据块,该P个数据块中的一个数据块为第二DM信息块,该第二DM信息块用于指示该内存芯片根据该第二写命令待写入的Q个数据块中的K个掩码数据块的位置,该P个数据块包括该Q个数据块中的非掩码数据块,其中,该Q个数据块中的非掩码数据块的个数为M,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q。Optionally, in an implementation manner of the third aspect, the memory bus interface is further configured to send a second write command to the memory chip, and send P data blocks to the memory chip according to the second write command, where One of the P data blocks is a second DM information block, and the second DM information block is used to indicate K mask data blocks in the Q data blocks to be written by the memory chip according to the second write command. The P data block includes a non-masked data block in the Q data blocks, where the number of non-masked data blocks in the Q data blocks is M, Q=N, P=Q/ 2, K is greater than or equal to Q/2+1, and M is an integer greater than 0 and less than or equal to P-1, and M+K=Q.
因此,本申请实施例在待传输的掩码数据块的数量大于或等于Q/2+1时,由于最多需要Q/2个数据块即可把有用的数据块传输完成,因此,本申请实施例中在这种情况下,将突发长度减半,在实现DM传输的情况下,进一步减小了资源的浪费,能够提升计算机性能。Therefore, in the embodiment of the present application, when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
第四方面,提供了一种内存芯片,应理解,第四方面的内存芯片与第二方面对应,该内存芯片能够实现第二方面中由内存芯片完成的方法,内存芯片的各个各个模块的操作和/或功能可以参见第二方面的描述,为了避免重复此处适当省略详细描述。In a fourth aspect, a memory chip is provided. It should be understood that the memory chip of the fourth aspect corresponds to the second aspect, and the memory chip can implement the method implemented by the memory chip in the second aspect, and operations of each module of the memory chip For the sake of avoiding repetition, the detailed description is omitted as appropriate.
具体的,该内存芯片包括:存储介质,用于存储数据;介质控制器,通过双倍速率DDR总线与计算机系统中的内存控制器相连,该介质控制器通过该DDR总线接收该内存控制器发送的第一写命令,该第一写命令中包含有第一指示信息,该第一指示信息用于指示待写入的数据块中具有掩码数据块,该待写入的数据块的个数为N,N为大于或 等于2的整数;该介质控制器通过该DDR总线接收该内存控制器根据该第一写命令发送的N个数据块,其中,该N个数据块中的一个数据块为第一DM信息块,该第一DM信息块用于指示该N个待写入的数据块中的掩码数据块的位置,该N个数据块包括该待写入的数据块中的非掩码数据块,该介质控制器根据该第一DM信息块的指示,将该待写入的数据块中的非掩码数据块写入该存储介质中。Specifically, the memory chip includes: a storage medium for storing data; and a media controller connected to the memory controller in the computer system through the double rate DDR bus, and the media controller receives the memory controller to send through the DDR bus. a first write command, the first write command includes first indication information, where the first indication information is used to indicate that the data block to be written has a mask data block, and the number of the data block to be written Is N, N is greater than or An integer equal to 2; the media controller receives, by the DDR bus, N data blocks sent by the memory controller according to the first write command, where one of the N data blocks is a first DM information block, The first DM information block is used to indicate a location of a masked data block in the N data blocks to be written, the N data blocks including a non-masked data block in the data block to be written, the medium The controller writes the non-masked data block in the data block to be written into the storage medium according to the indication of the first DM information block.
因此,本申请实施例通过将传输的N个数据块中的一个数据块作为DM信息块,在不增加管脚的情况下实现了DM的传输,并且该N个数据块中包括有待写入数据块中的非掩码数据块,能够保证有用数据的传输的基础上,实现在不增加传输的数据量的情况下DM的传输,能够避免了额外的传输时间,节省传输资源。Therefore, in the embodiment of the present application, by using one of the N data blocks to be transmitted as a DM information block, the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written. The non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
可选地,在第四方面的一种实现方式中,该第一DM信息块为该N个数据块中的第一个数据块。Optionally, in an implementation manner of the fourth aspect, the first DM information block is the first data block of the N data blocks.
可选地,在第四方面的一种实现方式中,该待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N;该N个数据块中的第2至第n个数据块为该待写入的数据块中的第1至第n-1个数据块,该N个数据块中的第n+1至第N个数据块为该待写入的数据块中的第n+1至第N个数据块。Optionally, in an implementation manner of the fourth aspect, the first mask data block in the data block to be written is the nth data block, and n is greater than 0 and less than or equal to N; the N data The second to nth data blocks in the block are the first to n-1th data blocks in the data block to be written, and the n+1th to Nth data blocks in the N data blocks are The n+1th to Nthth data blocks in the data block to be written.
可选地,在第四方面的一种实现方式中,该待写入的数据块中具有Z个非掩码数据块,其中,该Z为大于0且小于N的整数;该N个数据块中的第2至第Z+1个数据块为该Z个非掩码数据块,当Z小于等于N-2时,该N个数据块中的第Z+2至第N个数据块为预设数据块。Optionally, in an implementation manner of the fourth aspect, the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N; the N data blocks The second to the Z+1th data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2th to Nth data blocks in the N data blocks are pre- Set the data block.
可选地,在第四方面的一种实现方式中,该介质控制器还用于接收该内存控制器发送的第二写命令;该介质控制器还用于接收该内存控制器发送的P个数据块,该P个数据块中的一个数据块为第二DM信息块,该第二DM信息块用于指示该内存芯片根据该第二写命令待写入的Q个数据块中的K个掩码数据块的位置,该P个数据块包括该Q个数据块中的非掩码数据块,其中,该Q个数据块中的非掩码数据块的个数为M,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q;该介质控制器还用于根据该第二DM信息的指示,将该待写入的Q个数据块中的非掩码数据块写入该存储介质中。Optionally, in an implementation manner of the fourth aspect, the media controller is further configured to receive a second write command sent by the memory controller, where the media controller is further configured to receive the P commands sent by the memory controller. a data block, where one of the P data blocks is a second DM information block, the second DM information block is used to indicate K of the Q data blocks to be written by the memory chip according to the second write command. a position of the masked data block, the P data block includes a non-masked data block of the Q data blocks, where the number of non-masked data blocks in the Q data blocks is M, Q=N, P=Q/2, K is greater than or equal to Q/2+1, M is an integer greater than 0 and less than or equal to P-1, M+K=Q; the media controller is further configured to indicate according to the second DM information And writing the non-masked data block of the Q data blocks to be written into the storage medium.
因此,本申请实施例在待传输的掩码数据块的数量大于或等于Q/2+1时,由于最多需要Q/2个数据块即可把有用的数据块传输完成,因此,本申请实施例中在这种情况下,将突发长度减半,在实现DM传输的情况下,进一步减小了资源的浪费,能够提升计算机性能。Therefore, in the embodiment of the present application, when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
第五方面,提供了一种计算机系统,应理解,该计算机系统可以包括第三方面的内存控制器和第四方面的内存芯片,内存控制器和内存芯片,可以参见上述方法实施例的描述,为了避免重复此处适当省略详细描述。In a fifth aspect, a computer system is provided. It should be understood that the computer system may include the memory controller of the third aspect and the memory chip of the fourth aspect, the memory controller and the memory chip. For the description of the foregoing method embodiment, The detailed description is omitted as appropriate in order to avoid repetition.
具体的,内存控制器,通过双倍速率DDR总线与该内存芯片相连,该内存控制器通过该DDR总线向该内存芯片发送第一写命令,该第一写命令中包含有第一指示信息,该第一指示信息用于指示待写入的数据块中具有掩码数据块,该待写入的数据块的个数为N,N为大于或等于2的整数;该内存控制器根据该第一写命令通过该DDR总线向该内存芯片发送N个数据块,其中,该N个数据块中的一个数据块为第一DM信息块,该第一DM信息块用于指示该待写入的数据块中的掩码数据块的位置,该N个数据块包括该 N个待写入的数据块中的非掩码数据块;该内存芯片根据该第一DM信息块的指示,将该待写入的数据块中的非掩码数据块写入该内存芯片的存储介质中。Specifically, the memory controller is connected to the memory chip through a double rate DDR bus, and the memory controller sends a first write command to the memory chip through the DDR bus, where the first write command includes first indication information, The first indication information is used to indicate that the data block to be written has a mask data block, and the number of the data block to be written is N, N is an integer greater than or equal to 2; a write command sends N data blocks to the memory chip through the DDR bus, wherein one of the N data blocks is a first DM information block, and the first DM information block is used to indicate the to-be-written The location of the masked data block in the data block, the N data blocks including the a non-masked data block in the data block to be written; the memory chip writes the non-masked data block in the data block to be written into the memory chip according to the indication of the first DM information block In the storage medium.
因此,本申请实施例通过将传输的N个数据块中的一个数据块作为DM信息块,在不增加管脚的情况下实现了DM的传输,并且该N个数据块中包括有待写入数据块中的非掩码数据块,能够保证有用数据的传输的基础上,实现在不增加传输的数据量的情况下DM的传输,能够避免了额外的传输时间,节省传输资源。Therefore, in the embodiment of the present application, by using one of the N data blocks to be transmitted as a DM information block, the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written. The non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
可选地,在第五方面的一种实现方式中,该第一DM信息块为该N个数据块中的第一个数据块。Optionally, in an implementation manner of the fifth aspect, the first DM information block is the first data block of the N data blocks.
可选地,在第五方面的一种实现方式中,该待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N的整数;该N个数据块中的第2至第n个数据块为该待写入的数据块中的第1至第n-1个数据块,该N个数据块中的第n+1至第N个数据块为该待写入的数据块中的第n+1至第N个数据块。Optionally, in an implementation manner of the fifth aspect, the first mask data block in the data block to be written is the nth data block, and n is an integer greater than 0 and less than or equal to N; The 2nd to nth data blocks in the data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th to the Nth data in the N data blocks The block is the n+1th to Nthth data block in the data block to be written.
可选地,在第五方面的一种实现方式中,该待写入的数据块中具有Z个非掩码数据块,其中,该Z为大于0且小于N的整数;该N个数据块中的第2至第Z+1个数据块为该Z个非掩码数据块,当Z小于等于N-2时,该N个数据块中的第Z+2至第N个数据块为预设数据块。Optionally, in an implementation manner of the fifth aspect, the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N; the N data blocks The second to the Z+1th data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2th to Nth data blocks in the N data blocks are pre- Set the data block.
可选地,在第五方面的一种实现方式中,该内存控制器还用于向该内存芯片发送第二写命令;该内存控制器还用于根据该第二写命令向该内存芯片发送P个数据块,,该P个数据块中的一个数据块为第二DM信息块,该第二DM信息块用于指示该内存芯片根据该第二写命令待写入的Q个数据块中的K个掩码数据块的位置,该P个数据块包括该Q个数据块中的非掩码数据块,其中,该Q个数据块中的非掩码数据块的个数为M,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q;该内存芯片还用于根据该第二DM信息块的指示,将该待写入的Q个数据块中的非掩码数据块写入该存储介质中。Optionally, in an implementation manner of the fifth aspect, the memory controller is further configured to send a second write command to the memory chip, where the memory controller is further configured to send the memory chip to the memory chip according to the second write command. P data blocks, one of the P data blocks is a second DM information block, the second DM information block is used to indicate that the memory chip is to be written in the Q data blocks according to the second write command. The position of the K mask data blocks, the P data blocks include non-masked data blocks in the Q data blocks, wherein the number of non-masked data blocks in the Q data blocks is M, Q =N, P=Q/2, K is greater than or equal to Q/2+1, M is an integer greater than 0 and less than or equal to P-1, M+K=Q; the memory chip is further used to generate information according to the second DM An indication of the block, the non-masked data block of the Q data blocks to be written is written into the storage medium.
因此,本申请实施例在待传输的掩码数据块的数量大于或等于Q/2+1时,由于最多需要Q/2个数据块即可把有用的数据块传输完成,因此,本申请实施例中在这种情况下,将突发长度减半,在实现DM传输的情况下,进一步减小了资源的浪费,能够提升计算机性能。Therefore, in the embodiment of the present application, when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
附图说明DRAWINGS
图1是本申请实施例可应用的计算机系统的示意性结构图。FIG. 1 is a schematic structural diagram of a computer system to which an embodiment of the present application is applicable.
图2是一种传输DM的方法的示意性框图。2 is a schematic block diagram of a method of transmitting a DM.
图3是根据本申请一个实施例的传输DM的方法的流程图。3 is a flow chart of a method of transmitting a DM in accordance with one embodiment of the present application.
图4是根据本申请一个实施例的传输DM的方法的示意性框图。4 is a schematic block diagram of a method of transmitting a DM according to an embodiment of the present application.
图5是根据本申请另一实施例的传输DM的方法的流程图。FIG. 5 is a flowchart of a method of transmitting a DM according to another embodiment of the present application.
图6是根据本申请另一实施例的传输DM的方法的示意性框图。FIG. 6 is a schematic block diagram of a method of transmitting a DM according to another embodiment of the present application.
图7是根据本申请另一实施例的传输DM的方法的流程图。FIG. 7 is a flowchart of a method of transmitting a DM according to another embodiment of the present application.
图8是根据本申请另一实施例的传输DM的方法的示意性框图。FIG. 8 is a schematic block diagram of a method of transmitting a DM according to another embodiment of the present application.
图9是根据本申请一个实施例的内存控制器的示意性框图。9 is a schematic block diagram of a memory controller in accordance with one embodiment of the present application.
图10是根据本申请一个实施例的内存芯片的示意性框图。 FIG. 10 is a schematic block diagram of a memory chip in accordance with an embodiment of the present application.
图11是根据本申请一个实施例的计算机系统的示意性框图。11 is a schematic block diagram of a computer system in accordance with one embodiment of the present application.
具体实施方式Detailed ways
下面将结合附图,对本申请中的技术方案进行描述。The technical solutions in the present application will be described below with reference to the accompanying drawings.
图1是本申请实施例可应用的计算机系统的示意性结构图。该计算机系统100包括内存控制器110和DIMM 120,其中,DIMM 120包括至少一个内存芯片,应理解,本申请实施例中该内存芯片可以包括DRAM芯片、PCM芯片或RRAM芯片等,图1中以内存芯片为DRAM芯片(DRAM chip)为例进行描述,但本申请实施例并不限于此。内存控制器110和DIMM120之间通过双倍速率(double data rate,DDR)总线相连。内存控制器110可以通过DDR总线控制DRAM芯片与中央处理器(Central Processing Unit,CPU)之间的数据交换。FIG. 1 is a schematic structural diagram of a computer system to which an embodiment of the present application is applicable. The computer system 100 includes a memory controller 110 and a DIMM 120. The DIMM 120 includes at least one memory chip. It should be understood that the memory chip in the embodiment of the present application may include a DRAM chip, a PCM chip, or a RRAM chip. The memory chip is described as an example of a DRAM chip, but the embodiment of the present application is not limited thereto. The memory controller 110 and the DIMM 120 are connected by a double data rate (DDR) bus. The memory controller 110 can control data exchange between the DRAM chip and a central processing unit (CPU) through the DDR bus.
内存控制器110与中央处理器(CPU)相连接,并受CPU控制。应理解,本申请实施例中,内存控制器110与中央处理器(CPU)可以是分离的,也可以是内存控制器110整合到CPU中。The memory controller 110 is connected to a central processing unit (CPU) and is controlled by the CPU. It should be understood that, in the embodiment of the present application, the memory controller 110 may be separate from the central processing unit (CPU), or the memory controller 110 may be integrated into the CPU.
应理解,本申请的实施例的技术方案可以应用于多种不同的内存组织形式,图1中仅示出了双列直插式存储模块(DIMM)的形式,但本申请实施例并不限于此,本申请实施例也可以采用其他形式,例如,也可以是芯片控制器和处理器在一块单板上,或者芯片控制器作为其他形式的子卡或子板。It should be understood that the technical solutions of the embodiments of the present application may be applied to a plurality of different memory organization forms. Only the form of the dual in-line memory module (DIMM) is shown in FIG. 1, but the embodiment of the present application is not limited to Therefore, the embodiment of the present application may also take other forms, for example, the chip controller and the processor may be on one board, or the chip controller may be used as a daughter card or a daughter board of other forms.
为了便于理解本申请实施的方案,下面对本申请实施例的DDR总线进行介绍。In order to facilitate understanding of the implementation of the present application, the DDR bus of the embodiment of the present application is introduced below.
DDR总线通常包括地址总线(address bus)、命令总线(command bus)和数据总线(data bus)。DDR总线中的数据总线包括双向数据锁存(bi-directional data strobe,DQS)信号线和DQ信号线。在传统的基于DRAM的DIMM中,内存控制器和DIMM基于DQS信号线上传输的DQS信号,在DQ信号线上进行数据传输。A DDR bus typically includes an address bus, a command bus, and a data bus. The data bus in the DDR bus includes a bi-directional data strobe (DQS) signal line and a DQ signal line. In conventional DRAM-based DIMMs, the memory controller and DIMM are based on the DQS signal transmitted on the DQS signal line for data transmission on the DQ signal line.
以写数据为例,内存控制器分别通过DQS信号线和DQ信号线向DRAM芯片发送DQS信号和待写入数据,DRAM芯片会基于接收到的DQS信号锁存(或称采样)DQ信号线上传输的待写入数据。同理,在数据读取过程中,内存装置分别通过DQS信号线和DQ信号线向内存控制器发送DQS信号和读取出的数据,内存控制器会基于DQS信号锁存DQ信号线上传输的已读出的数据。通常,DQ信号线上传输的是数据(也可称为DQ信号),而DQS信号线上传输的DQS信号主要用于实现内存控制器和DIMM之间的时钟同步,DQS信号相当于一种时钟同步信号。Taking write data as an example, the memory controller sends a DQS signal and a data to be written to the DRAM chip through the DQS signal line and the DQ signal line, respectively, and the DRAM chip latches (or samples) the DQ signal line based on the received DQS signal. Transmitted data to be written. Similarly, during the data reading process, the memory device sends the DQS signal and the read data to the memory controller through the DQS signal line and the DQ signal line, respectively, and the memory controller latches the DQ signal line transmission based on the DQS signal. Data that has been read. Generally, data transmitted on the DQ signal line (also referred to as DQ signal) is transmitted, and the DQS signal transmitted on the DQS signal line is mainly used for clock synchronization between the memory controller and the DIMM, and the DQS signal is equivalent to a clock. Synchronization signal.
需要说明的是,一条DQS信号线是指逻辑上能够形成DQS信号的线,实际中,一种情况下,DQS信号可以通过一根物理的DQS线进行传输。在这种情况下,一条DQS信号线对应一根物理的DQS线。另一种情况下,当DQS信号为差分信号时,DQS信号需要通过两根物理的DQS线进行传输。在这种情况下,一条DQS信号线对应两根物理的DQS线。It should be noted that a DQS signal line refers to a line that can logically form a DQS signal. In practice, in one case, the DQS signal can be transmitted through a physical DQS line. In this case, one DQS signal line corresponds to one physical DQS line. In the other case, when the DQS signal is a differential signal, the DQS signal needs to be transmitted through two physical DQS lines. In this case, one DQS signal line corresponds to two physical DQS lines.
为了使不同位宽的DRAM可以在同一DDR总线上工作,一般会对DDR数据总线进行分组设计。以兼容×4DRAM(即DRAM芯片的位宽为4位)和×8DRAM(即DRAM芯片的位宽为8位)的DDR总线为例,在标准的DIMM的设计中,通常一组DDR数据总线包括8个DQ信号线和2个DQS信号线,这些信号线在电路板上做等长设计,通过这种方式,无论是接×4DRAM还是接×8DRAM,DDR总线都可以正常工作。 In order to enable different bit width DRAMs to work on the same DDR bus, the DDR data bus is generally grouped. For example, a DDR bus compatible with x4 DRAM (ie, the bit width of the DRAM chip is 4 bits) and x8 DRAM (that is, the bit width of the DRAM chip is 8 bits) is taken as an example. In the design of a standard DIMM, usually a set of DDR data buses includes Eight DQ signal lines and two DQS signal lines, which are designed to be of equal length on the board. In this way, the DDR bus can work normally whether it is connected to ×4 DRAM or connected to ×8 DRAM.
应理解,实际中,DDR总线可以包括多组数据总线,例如,对于支持纠错码(Error Correction Code,ECC)的DIMM而言,DDR数据总线一般包括72条DQ信号线和18条DQS信号线,这些数据总线共分为9组数据总线,每组数据总线包括8条DQ信号线和2条DQS信号线;对于不支持ECC的DIMM而言,DDR数据总线一般包括64条DQ信号线和16条DQS信号线,这些数据总线共分为8组数据总线,每组数据总线包括8条DQ信号线和2条DQS信号线。It should be understood that, in practice, the DDR bus may include multiple sets of data buses. For example, for DIMMs supporting Error Correction Code (ECC), the DDR data bus generally includes 72 DQ signal lines and 18 DQS signal lines. These data buses are divided into 9 groups of data buses, each of which includes 8 DQ signal lines and 2 DQS signal lines. For DIMMs that do not support ECC, the DDR data bus generally includes 64 DQ signal lines and 16 Strip DQS signal lines, these data buses are divided into 8 groups of data buses, each group of data bus includes 8 DQ signal lines and 2 DQS signal lines.
由于×8DRAM中每组数据总线中的一个DQS是空闲的,所以该空闲的DQS可以设置成DM管脚的功能,而由于×4DRAM中没有DQS空闲,因此×4DRAM并不具有DM管脚功能。×4DRAM组成的DIMM容量高,通常用在对性能要求高的服务器场合,如果能有办法在不增加管脚的前提下解决×4DRAM的DM传输,将会有利于提高服务器的性能。Since one DQS of each group of data buses in the ×8 DRAM is idle, the idle DQS can be set to the function of the DM pin, and since no DQS is idle in the ×4 DRAM, the x4 DRAM does not have the DM pin function. The DIMMs composed of ×4 DRAMs have high capacity and are usually used in servers with high performance requirements. If there is a way to solve the DM transmission of ×4 DRAM without increasing the pins, it will be beneficial to improve the performance of the server.
针对×4的DRAM芯片的写数据,如图2所示,一种在不增加管脚的情况下的传输方式为在传输数据之后,再增加DM的传输周期,以DDR5为例,×4DRAM芯片的一次写数据的突发长度一般为BL16,由于需要传输DM信息,所以在BL16之后再增加DM的数据传输,例如,DM数据传输需要的突发长度为BL2,那么整个突发长度为BL18。For the write data of the DRAM chip of ×4, as shown in Fig. 2, the transmission mode without increasing the pin is to increase the transmission period of the DM after transmitting the data, taking DDR5 as an example, the ×4 DRAM chip The burst length of one write data is generally BL16. Since DM information needs to be transmitted, the data transmission of DM is added after BL16. For example, the burst length required for DM data transmission is BL2, then the entire burst length is BL18.
应理解,本申请实施例中一个×4DRAM的芯片位宽为4比特,×8DRAM的芯片位宽为8比特,在一次突发传输的数据量为64比特时,×4DRAM的芯片对应的突发长度BL为16,需要8个传递周期,每个周期传递两次数据,例如,在每个周期的上下沿各传一次数据,一次传输4个比特。同样的,在一次突发传输的数据量为64比特时,×8DRAM的芯片对应的突发长度BL为8,需要4个传递周期,每个周期传递两次数据,It should be understood that, in the embodiment of the present application, a chip width of a ×4 DRAM is 4 bits, a chip width of the ×8 DRAM is 8 bits, and when a data amount of one burst transmission is 64 bits, a chip corresponding to a ×4 DRAM chip has a burst. The length BL is 16, which requires 8 transfer cycles, and the data is transferred twice per cycle. For example, data is transmitted once on each of the upper and lower edges of each cycle, and 4 bits are transmitted at a time. Similarly, when the amount of data transmitted in one burst is 64 bits, the burst length BL corresponding to the chip of ×8 DRAM is 8, requiring four transfer cycles, and data is transferred twice per cycle.
例如,在每个周期的上下沿各传一次数据,一次传输8个比特。For example, data is transmitted once on each of the upper and lower edges of each cycle, and 8 bits are transmitted at a time.
针对图2所示的传输方案中,由于需要额外传输DM信息,使得总线上在传输数据的基础上增加了额外的DM信息传输时间,浪费了DDR的总线带宽。For the transmission scheme shown in FIG. 2, since additional DM information needs to be transmitted, an additional DM information transmission time is added on the bus based on the transmission data, which wastes the bus bandwidth of the DDR.
鉴于上述问题,本申请实施例提出了一种传输DM的方法,能够解决上述问题,实现在不增加额外DM传输时间和额外管脚的前提下,传递DM信息。In view of the above problems, the embodiment of the present application proposes a method for transmitting a DM, which can solve the above problem, and implements delivery of DM information without adding additional DM transmission time and additional pins.
具体而言,由于需要传输DM信息,也就说明至少有一个块数据是被掩码的(masked),这里可以把被掩码的数据块称为掩码数据块,由于,内存芯片获取到掩码数据块后,该掩码数据块被屏蔽,内存芯片并不对该掩码数据块进行改写,内存芯片仅对非掩码的数据块进行改写。通过上述分析可知,在实际写数据时,掩码数据块为不需要的数据块,或者为无用的数据块。Specifically, since the DM information needs to be transmitted, it means that at least one block of data is masked. Here, the masked data block can be referred to as a masked data block, because the memory chip is captured. After the code data block, the mask data block is masked, the memory chip does not rewrite the mask data block, and the memory chip only rewrites the unmasked data block. According to the above analysis, when the data is actually written, the masked data block is an unnecessary data block or a useless data block.
因此,本申请实施例通过将传输的N个数据块中的一个数据块作为DM信息块,能够实现DM的传输,并且该N个数据块中包括有待写入数据块中的非掩码数据块,能够保证有用数据的传输的基础上,实现了在不增加传输的数据量的情况下DM的传输,避免了额外的传输时间,节省传输资源。Therefore, the embodiment of the present application can implement DM transmission by using one of the transmitted N data blocks as a DM information block, and the N data blocks include non-masked data blocks to be written in the data block. On the basis of ensuring the transmission of useful data, the transmission of the DM can be realized without increasing the amount of data transmitted, avoiding additional transmission time and saving transmission resources.
以下,结合附图对本申请实施例的传输DM的方法进行详细描述。Hereinafter, a method for transmitting a DM according to an embodiment of the present application will be described in detail with reference to the accompanying drawings.
图3是本申请实施例的传输DM的方法的流程图。如图3所示的方法300包括:FIG. 3 is a flowchart of a method for transmitting a DM according to an embodiment of the present application. The method 300 shown in FIG. 3 includes:
310,内存控制器向内存芯片发送第一写命令,该第一写命令中包含有第一指示信息,该第一指示信息用于指示待写入的数据块中具有掩码数据块,该待写入的数据块的个数为N,N为大于或等于2的整数。The memory controller sends a first write command to the memory chip, where the first write command includes first indication information, where the first indication information is used to indicate that the data block to be written has a mask data block. The number of written data blocks is N, and N is an integer greater than or equal to 2.
换句话说,该第一指示信息能够指示该第一写命令为具有DM的写的命令。 In other words, the first indication information can indicate that the first write command is a command with a write of the DM.
以DDR4命令为例,本申请实施例中可以通过A17、A13和A11中的一个管脚以区分普通写和DM写。Taking the DDR4 command as an example, one of the pins A17, A13, and A11 can be used to distinguish between normal write and DM write in the embodiment of the present application.
举例而言,选取的管脚例如为A17,则第一指示信息即对应A17为高电平时的情况。相应地,在A17为低电平时对应的写命令可以为普通写命令,即没有DM的写命令。For example, if the selected pin is, for example, A17, the first indication information corresponds to the case where A17 is at a high level. Correspondingly, when A17 is low, the corresponding write command can be a normal write command, that is, a write command without DM.
该第一写命令中可以定义待写入的数据的突发长度(burst length,BL)及地址。应理解,该待写入的数据块可以为BL对应的数据块。以DDR5为例,该内存芯片可以为×4DRAM芯片,在突发数据量为64比特,那么BL可以为16,本申请实施例中对应的掩码粒度可以为一个周期两次传输的数据量,即8比特,即一个数据块可以为8比特,即该待写入的数据块可以为8块,即N=8。The burst length (BL) and the address of the data to be written may be defined in the first write command. It should be understood that the data block to be written may be a data block corresponding to the BL. Taking DDR5 as an example, the memory chip can be a ×4 DRAM chip, and the burst data amount is 64 bits, then the BL can be 16. The corresponding mask granularity in the embodiment of the present application can be the data amount transmitted twice in one cycle. That is, 8 bits, that is, one data block can be 8 bits, that is, the data block to be written can be 8 blocks, that is, N=8.
可选地,在实际应用中,一个数据块也可以对应多个周期的数据块,例如,一个数据块为两个周期所传输的数据量即16比特;一个数据块也可以对应一次传输的数据量,即4比特,本申请实施例并不限于此。Optionally, in practical applications, one data block may also correspond to a plurality of periodic data blocks. For example, one data block is 16 bits of data transmitted in two cycles; one data block may also correspond to data transmitted at one time. The amount, that is, 4 bits, is not limited to this embodiment.
还应理解,本申请实施例中正常传输的突发数据量也可以不是64比特,例如,一次传输的突发数据量为32比特,或者突发数据量为其他比特数,相应地,BL也可以为其他数值,本申请实施例并不限于此。It should also be understood that the amount of burst data normally transmitted in the embodiment of the present application may not be 64 bits, for example, the burst data amount of one transmission is 32 bits, or the burst data amount is other bit numbers, and accordingly, the BL is also Other values may be used, and embodiments of the present application are not limited thereto.
320,内存控制器根据第一写命令向内存芯片发送N个数据块,其中,该N个数据块中的一个数据块包括第一DM信息块,该第一DM信息块用于指示该待写入的数据块中的掩码数据块的位置,该N个数据块包括该待写入的数据块中的非掩码数据块。320. The memory controller sends N data blocks to the memory chip according to the first write command, where one of the N data blocks includes a first DM information block, where the first DM information block is used to indicate the to-be-written The location of the masked data block in the incoming data block, the N data blocks including the non-masked data block in the data block to be written.
因此,本申请实施例通过将传输的N个数据块中的一个数据块作为DM信息块,能够实现DM的传输,并且该N个数据块中包括有待写入数据块中的非掩码数据块,能够保证有用数据的传输的基础上,实现了在不增加传输的数据量的情况下DM的传输,避免了额外的传输时间,节省传输资源。Therefore, the embodiment of the present application can implement DM transmission by using one of the transmitted N data blocks as a DM information block, and the N data blocks include non-masked data blocks to be written in the data block. On the basis of ensuring the transmission of useful data, the transmission of the DM can be realized without increasing the amount of data transmitted, avoiding additional transmission time and saving transmission resources.
应理解,本申请实施例中待写入数据块也可以称为原始数据块,N个待写入数据块可以称为N个原始数据块,该N个原始数据块中不包括DM信息块。N个待写入的数据块与内存控制器发送的N个数据块(实际传输的数据块)不同,发送的N个数据块中包括DM信息块。It should be understood that the data block to be written in the embodiment of the present application may also be referred to as an original data block, and the N data blocks to be written may be referred to as N original data blocks, and the DM information blocks are not included in the N original data blocks. The N data blocks to be written are different from the N data blocks (the actually transmitted data blocks) sent by the memory controller, and the transmitted N data blocks include DM information blocks.
应理解,本申请实施例中该内存芯片可以包括DRAM芯片、PCM芯片或RRAM芯片等。以下仅以内存芯片为DRAM芯片为例进行说明,但本申请实施例并不限于此。It should be understood that the memory chip in the embodiment of the present application may include a DRAM chip, a PCM chip, or a RRAM chip. The following is an example in which the memory chip is a DRAM chip, but the embodiment of the present application is not limited thereto.
具体的,内存控制器可以根据第一写命令定义的突发长度发送该N个数据块。在本申请实施例中,内存控制器发送了第一写命令之后,可以向内存芯片发送N个数据块。应理解,本申请实施例中,每一个数据块可以包括一个传递周期所发送的写数据,因此,内存控制器可以通过N个周期依次发送该N个数据块。Specifically, the memory controller may send the N data blocks according to a burst length defined by the first write command. In the embodiment of the present application, after the memory controller sends the first write command, the N data blocks can be sent to the memory chip. It should be understood that, in the embodiment of the present application, each data block may include write data sent by one transfer period. Therefore, the memory controller may sequentially send the N data blocks through N cycles.
应理解,本申请实施例中,该第一DM信息块可以包括N个比特的DM信息,其中该N个比特与N个待写入的数据块具有一一对应关系。也就是说DM信息中的每个比特对应一个待写入的数据块(也可以称为原始数据块)。It should be understood that, in this embodiment of the present application, the first DM information block may include N bits of DM information, where the N bits have a one-to-one correspondence with the N data blocks to be written. That is to say, each bit in the DM information corresponds to a data block to be written (which may also be referred to as an original data block).
通过第一DM信息,内存控制器可以通知内存芯片N个待写入的数据块中哪些为掩码数据块,哪些为非掩码数据块,例如,在待写入的数据块对应的比特为0时,可以表示该待写入的数据块为非掩码数据块,在待写入的数据块对应的比特为1时,可以表示该待写入的数据块为掩码数据块。Through the first DM information, the memory controller can notify the memory chip which of the N data blocks to be written are mask data blocks and which are non-mask data blocks. For example, the corresponding bit of the data block to be written is 0, it can be said that the data block to be written is a non-masked data block, and when the bit corresponding to the data block to be written is 1, it can indicate that the data block to be written is a mask data block.
应理解,第一DM信息块可以为发送的N个数据块中的任意一个数据块,本申请实 施例并不对此做限定。It should be understood that the first DM information block may be any one of the N data blocks that are sent. The example does not limit this.
可选的,第一DM信息块为传输的N个数据块中的第一个数据块。Optionally, the first DM information block is the first one of the N data blocks that are transmitted.
在如图2所描述的方案中,由于DRAM芯片事先不知道哪个块是掩码块,因此,需在获取到所有数据块后,需要等到获取到DM信息后,才能知道各个数据块到底是掩码块还是非掩码块,之后才能将之前获取的数据块中的非掩码数据块写入存储器中,导致处理周期较久,影响写效率。而本申请实施例中,通过在第一个数据块传输DM信息,使得内存芯片根据该DM信息能够知道后续接收到的数据块是否是掩码块,这样,在接收到数据块后,如果该数据块为非掩码数据块,该内存芯片可以直接将该非掩码数据块写入该内存芯片的存储介质中,无需等待其他数据块的接收,能够提升写效率。In the scheme as described in FIG. 2, since the DRAM chip does not know in advance which block is a mask block, after all the data blocks are acquired, it is necessary to wait until the DM information is acquired before knowing whether each data block is hidden. The code block is still a non-masked block, and then the non-masked data block in the previously acquired data block can be written into the memory, resulting in a long processing cycle and affecting the writing efficiency. In the embodiment of the present application, the DM information is transmitted in the first data block, so that the memory chip can know whether the subsequently received data block is a mask block according to the DM information, so after receiving the data block, if The data block is a non-masked data block, and the memory chip can directly write the non-masked data block into the storage medium of the memory chip, and can improve the writing efficiency without waiting for other data blocks to be received.
以下结合各个实施例以第一DM信息块为N个数据块中的第一个数据块为例进行举例说明,但本申请实施例并不限于此,例如,第一DM信息块可以为N个数据块中的中间块,或者第一DM信息块可以为N个数据块中的最后一块。In the following, the first DM information block is used as the first data block in the N data blocks as an example, but the embodiment of the present application is not limited thereto. For example, the first DM information block may be N. The intermediate block in the data block, or the first DM information block, may be the last one of the N data blocks.
应理解,该内存控制器向该内存芯片发送N个数据块只要包括第一DM信息块和待写入的数据块中的所有非掩码数据块即可,本申请实施例并不对发送的N个数据块中的剩余的数据块做限定。可选地,该N个数据块中剩余的数据块可以包括掩码数据块或预设数据块。下面将分情况详细描述本申请实施例中发送N个数据块的具体形式。It should be understood that the memory controller sends N data blocks to the memory chip as long as the first DM information block and all the non-masked data blocks in the data block to be written are included, and the embodiment of the present application does not send the N data. The remaining data blocks in the data blocks are qualified. Optionally, the remaining data blocks in the N data blocks may include a mask data block or a preset data block. The specific form of transmitting N data blocks in the embodiment of the present application will be described in detail below.
情况一:Case 1:
该待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N的整数;The first mask data block in the data block to be written is the nth data block, and n is an integer greater than 0 and less than or equal to N;
该N个数据块中的第2至第n个数据块为该待写入的数据块中的第1至第n-1个数据块,该N个数据块中的第n+1至第N个数据块为该待写入的数据块中的第n+1至第N个数据块。The second to nth data blocks of the N data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th to the Nth of the N data blocks The data blocks are the n+1th to Nthth data blocks in the data block to be written.
也就是说,内存控制器向内存芯片发送的N个数据块中不包括N个待写入的数据块中的第一个掩码数据块,该N个数据块包括第一DM信息块和N个待写入的数据块中除第一个掩码数据块之外的所有数据块。That is, the N data blocks sent by the memory controller to the memory chip do not include the first one of the N data blocks to be written, and the N data blocks include the first DM information block and the N All data blocks except the first masked data block in the data block to be written.
例如,如图4所示,以DDR5,内存芯片为×4DRAM芯片为例,突发数据量为64比特,待写入的数据块(也可以称为原始数据块)为8块,即N=8。待写入的数据块为数据块1至数据块8,其中,每个数据块对应8比特的数据。如图4所示,待写入的数据块中的掩码数据块包括数据块3、数据块4、数据块7和数据块8。非掩码数据块包括数据块1、数据块2、数据块4和数据块5。该待写入的数据块对应的DM信息为00110011。其中,DM信息比特取值为0时,表示对应的数据块为非掩码数据块,DM信息比特取值为1时,表示对应的数据块为掩码数据块。For example, as shown in FIG. 4, taking DDR5 as the memory chip as the ×4 DRAM chip, the burst data amount is 64 bits, and the data block to be written (also referred to as the original data block) is 8 blocks, that is, N= 8. The data blocks to be written are data block 1 to data block 8, wherein each data block corresponds to 8-bit data. As shown in FIG. 4, the masked data block in the data block to be written includes data block 3, data block 4, data block 7, and data block 8. The non-masked data block includes a data block 1, a data block 2, a data block 4, and a data block 5. The DM information corresponding to the data block to be written is 00110011. When the value of the DM information bit is 0, it indicates that the corresponding data block is a non-masked data block, and when the DM information bit has a value of 1, it indicates that the corresponding data block is a masked data block.
由图4可以看出待写入的数据块中的首个掩码数据块为数据块3,因此,在实际传输时,不传输该数据块3,其余的数据块都传输。It can be seen from FIG. 4 that the first mask data block in the data block to be written is the data block 3, and therefore, in the actual transmission, the data block 3 is not transmitted, and the remaining data blocks are transmitted.
具体地,在实际传输时,内存控制器可以通过8个周期依次传输8个数据块。其中,传输的8个数据块中的第一个数据块为第一DM信息块,传输的第2个数据块对应待写入的数据块1,传输的第3个数据块对应待写入的数据块2,传输的第4至第8个数据块分别对应待写入的数据块4至数据块8。Specifically, in actual transmission, the memory controller can sequentially transmit 8 data blocks through 8 cycles. The first data block of the transmitted 8 data blocks is the first DM information block, the second data block transmitted corresponds to the data block 1 to be written, and the third data block to be transmitted corresponds to the to-be-written data block. Data block 2, the 4th to 8th data blocks of the transmission correspond to the data block 4 to the data block 8 to be written, respectively.
根据上述情况一的描述,可以得出,在情况一中,内存控制器可以按照如下预设规则发送DM信息:首先传输DM信息,之后内存控制器会根据DM信息找到待写入的数 据块中的第一个掩码数据块,即待写入的数据块3,在第一个被掩码的掩码数据块之前的数据(即待写入的数据块1和数据块2),按照顺序接在DM信息之后依次发送,即发送的数据块2和数据块3对应待写入的数据块1和数据块2,然后,第一个掩码数据块不传输,第一个掩码数据块之后的数据,即待写入的数据块4至8,按照原始数据的位置,依次发送。According to the description of the foregoing case 1, it can be concluded that in case 1, the memory controller can send the DM information according to the following preset rule: firstly, the DM information is transmitted, and then the memory controller finds the number to be written according to the DM information. According to the first mask data block in the block, that is, the data block 3 to be written, the data before the first masked mask data block (ie, the data block 1 and the data block 2 to be written) And sequentially transmitted after the DM information in sequence, that is, the transmitted data block 2 and the data block 3 correspond to the data block 1 and the data block 2 to be written, and then the first mask data block is not transmitted, the first mask The data following the code data block, that is, the data blocks 4 to 8 to be written, are sequentially transmitted in accordance with the position of the original data.
下面结合图5详细描述内存控制器按照情况一的预设规则发送DM信息的数据块的具体过程。The specific process of the memory controller transmitting the data block of the DM information according to the preset rule of the first case is described in detail below with reference to FIG.
如图5所示的方法可以由内存控制器执行,如图5所示的方法500包括:The method shown in FIG. 5 can be performed by a memory controller, and the method 500 shown in FIG. 5 includes:
510,发送DM信息。510. Send DM information.
即通过第一个数据块发送DM信息。例如,该DM信息为00110011。That is, the DM information is transmitted through the first data block. For example, the DM information is 00110011.
520,根据DM信息确定第一个掩码数据块。520. Determine a first mask data block according to the DM information.
具体地,内存控制器确定待写入的数据块中的第一个掩码数据块,例如,第一个掩码数据块为待写入的数据块3。Specifically, the memory controller determines the first masked data block in the data block to be written, for example, the first masked data block is the data block 3 to be written.
530,判断当前待写入的数据块是否是第一个掩码数据块之前的数据块。530. Determine whether the current data block to be written is a data block before the first mask data block.
具体地,在确定完第一个额掩码数据块之后,内存控制器会从第一个待写入的数据开始至第N个待写入的数据块依次判断当前待写入的数据块是否是数据块3之前的数据块。如果是,则执行步骤540;如果否,则执行步骤550。Specifically, after determining the first amount of the mask data block, the memory controller sequentially determines whether the current data block to be written is from the first data to be written to the Nth data block to be written. Is the data block before the data block 3. If yes, step 540 is performed; if no, step 550 is performed.
540,接着第一个数据块依次传输。540, then the first data block is transmitted in sequence.
具体而言,由于待写入的数据块1为第一个掩码数据块之前的数据,所以在传输的第二个数据块中传输待写入的数据块1中的数据,由于待写入的数据块2为第一个掩码数据块之前的数据,所以在传输的第三个数据块中传输待写入的数据块2中的数据。Specifically, since the data block 1 to be written is the data before the first mask data block, the data in the data block 1 to be written is transmitted in the second data block to be transmitted, due to the to-be-written The data block 2 is the data before the first mask data block, so the data in the data block 2 to be written is transferred in the third data block of the transmission.
550,判断当前待写入的数据块是否是第一个掩码数据块。550. Determine whether the current data block to be written is the first mask data block.
如果当前待写入的数据块为第一个掩码数据块,则执行步骤560,否则执行步骤570。If the data block to be written is the first mask data block, step 560 is performed, otherwise step 570 is performed.
560,当前待写入数据块不传输。560. The current data block to be written is not transmitted.
具体地,在当前待写入的数据块为第一个掩码数据块时,不传输。Specifically, when the data block to be written is the first mask data block, it is not transmitted.
570,判断当前待写入数据块完成传输。570. Determine that the current data block to be written completes the transmission.
具体地,如果当前带传输的数据块完成传输,则执行步骤590,传输结束;否则,执行步骤580。Specifically, if the current data block with the transmission completes the transmission, step 590 is performed, and the transmission ends; otherwise, step 580 is performed.
580,按照待写入的数据块的位置传输。580, according to the location of the data block to be written.
也就说如果当前待写入的数据块为第一个掩码数据块之后的数据块,则按照当前待写入的数据块的原来位置进行传输。That is to say, if the data block to be written is the data block after the first mask data block, the data is transmitted according to the original position of the data block to be written.
590,传输结束。590, the transmission ends.
因此,本申请实施例通过摒弃传输BL对应的数据块中的第一个掩码数据块的数据,通过增加传输一个DM信息块,在不增加传输的数据量的基础上实现了DM的传输,避免了额外的传输时间,能够节省传输资源。Therefore, in the embodiment of the present application, by discarding the data of the first mask data block in the data block corresponding to the transmission BL, by transmitting a DM information block, the DM transmission is realized without increasing the amount of data transmitted. It avoids extra transmission time and saves transmission resources.
应理解,上文描述的情况一中,描述了内存控制器不传输第一个掩码数据块的情况,但本申请实施例并不限于此,例如,在实际应用中,内存控制器可以不传输最后一个掩码数据块,即传输的N个数据块包括第一DM信息块和待写入的个数据块中除最后一个掩码数据块之外的所有数据块。相应地,内存控制器可以按照情况一的类似规则传输该N个数据块,为了避免重复,此处不再赘述。 It should be understood that in the first case described above, the case where the memory controller does not transmit the first mask data block is described, but the embodiment of the present application is not limited thereto. For example, in practical applications, the memory controller may not The last masked data block is transmitted, that is, the transmitted N data blocks include all of the first DM information block and the data blocks to be written except the last mask data block. Correspondingly, the memory controller can transmit the N data blocks according to a similar rule of the first case. To avoid repetition, details are not described herein again.
情况二:Case 2:
该待写入的数据块中具有Z个非掩码数据块,其中,所述Z为大于0且小于N的整数;The data block to be written has Z non-masked data blocks, wherein the Z is an integer greater than 0 and less than N;
该N个数据块中的第2至第Z+1个数据块为该Z个非掩码数据块,当Z小于等于N-2时,该N个数据块中的第Z+2至第N个数据块为预设数据块。The second to the Z+1th data blocks of the N data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2 to the Nth of the N data blocks The data blocks are preset data blocks.
也就是说,内存控制器向内存芯片发送的N个数据块中不包括N个待写入的数据块中的掩码数据块;该发送的N个数据块包括第一DM信息块和N个待写入的数据块中的所有非掩码数据块以及预设数据块。That is, the N data blocks sent by the memory controller to the memory chip do not include the mask data blocks in the N data blocks to be written; the transmitted N data blocks include the first DM information block and the N data blocks. All non-masked data blocks in the data block to be written and preset data blocks.
应理解,当待写入的数据块中包括仅包括一个掩码数据块时,传输的N个数据块中包括第一DM信息块和N-1个非掩码数据块。当待写入的数据块中包括包括多个掩码数据块时,例如,包括N-Z个掩码数据块,那么该传输的N个数据块中包括第一DM信息块、Z个非掩码数据库块和N-Z-1个预设数据块。It should be understood that when only one masked data block is included in the data block to be written, the transmitted N data blocks include the first DM information block and the N-1 non-masked data blocks. When the data block to be written includes multiple mask data blocks, for example, including NZ mask data blocks, the transmitted N data blocks include the first DM information block and the Z non-mask databases. Block and NZ-1 preset data blocks.
例如,如图6所示,以DDR5,内存芯片为×4DRAM芯片为例,突发数据量为64比特,待写入的数据块(也可以称为原始数据块)为8块,即N=8。待写入的数据块为数据块1至数据块8,其中,每个数据块对应8比特的数据。如图6所示,待写入的数据块中的掩码数据块包括数据块3、数据块4、数据块7和数据块8。非掩码数据块包括数据块1、数据块2、数据块4和数据块5。该待写入的数据块对应的DM信息即为00110011。其中,DM信息比特取值为0时,表示对应的数据块为非掩码数据块,DM信息比特取值为1时,表示对应的数据块为掩码数据块。For example, as shown in FIG. 6, taking DDR5 and the memory chip as an x4 DRAM chip as an example, the burst data amount is 64 bits, and the data block to be written (also referred to as a raw data block) is 8 blocks, that is, N= 8. The data blocks to be written are data block 1 to data block 8, wherein each data block corresponds to 8-bit data. As shown in FIG. 6, the masked data block in the data block to be written includes data block 3, data block 4, data block 7, and data block 8. The non-masked data block includes a data block 1, a data block 2, a data block 4, and a data block 5. The DM information corresponding to the data block to be written is 00110011. When the value of the DM information bit is 0, it indicates that the corresponding data block is a non-masked data block, and when the DM information bit has a value of 1, it indicates that the corresponding data block is a masked data block.
具体地,在实际传输时,内存控制器可以通过8个周期依次传输8个数据块。其中,传输的8个数据块中的第一个数据块为第一DM信息块,传输的第2个至第5个数据块对应待写入的数据块1、待写入的数据块2、待写入的数据块5和待写入的数据块6,传输的第6至第8个数据块对应预设数据块。Specifically, in actual transmission, the memory controller can sequentially transmit 8 data blocks through 8 cycles. The first data block of the transmitted 8 data blocks is the first DM information block, and the 2nd to 5th data blocks transmitted correspond to the data block to be written and the data block to be written 2. The data block 5 to be written and the data block 6 to be written, the 6th to 8th data blocks transmitted correspond to the preset data block.
根据上述情况二的描述,可以得出,在情况二中,内存控制器可以按照如下预设规则发送DM信息:首先传输DM信息,之后内存控制器会根据DM信息判断每一个待写入的数据块是否掩码数据块,如果是掩码数据块则不传输,如果是非掩码数据块,则跟着前面传输的数据块传输。在非掩码块传输完成之后,剩余的传输块可以传输预设数据块,例如,预设数据块包括8比特的0,或8比特的1,本申请实施例并不限于此。According to the description of the second case, it can be concluded that in the second case, the memory controller can send the DM information according to the following preset rules: firstly, the DM information is transmitted, and then the memory controller determines each data to be written according to the DM information. Whether the block masks the data block, if it is a masked data block, it does not transmit. If it is a non-masked data block, it is transmitted along with the previously transmitted data block. After the non-masked block transmission is completed, the remaining transport blocks may transmit the preset data block. For example, the preset data block includes 8 bits of 0, or 8 bits of 1. The embodiment of the present application is not limited thereto.
下面结合图7详细描述内存控制器按照情况二的预设规则发送DM信息的数据块的具体过程。The specific process of the data controller transmitting the data block of the DM information according to the preset rule of the second case is described in detail below with reference to FIG.
如图7所示的方法可以由内存控制器执行,如图7所示的方法700包括:The method shown in FIG. 7 can be performed by a memory controller, and the method 700 shown in FIG. 7 includes:
710,发送DM信息。710. Send DM information.
即通过第一个数据块发送DM信息。例如,该DM信息为00110011。That is, the DM information is transmitted through the first data block. For example, the DM information is 00110011.
720,根据DM信息确定当前待写入的数据块是否是掩码数据块。720. Determine, according to the DM information, whether the current data block to be written is a mask data block.
内存控制器会从第一个待写入的数据开始至第N个待写入的数据块依次判断当前的待写入数据块是否是掩码数据块。。如果是,则执行步骤730;如果否,则执行步骤740。The memory controller sequentially determines whether the current data block to be written is a mask data block from the first data to be written to the Nth data block to be written. . If yes, step 730 is performed; if no, step 740 is performed.
730,当前待写入的数据块不传输。730. The current data block to be written is not transmitted.
具体地,在当前待写入的数据块为掩码数据块时,不传输。Specifically, when the data block to be written is a mask data block, it is not transmitted.
740,接着上一个传输的数据块传输。740, followed by the transmission of the last transmitted data block.
具体地,在当前待写入的数据块是非掩码数据块,则跟着前面传输的数据块传输。 Specifically, when the data block to be written currently is a non-masked data block, the data block transmitted before is transmitted.
750,判断待写入的数据块是否传输完成。750. Determine whether the data block to be written is transmitted.
如果待写入的数据块传输完成,则执行步骤760,如果当前待写入的数据块未传输完,则执行步骤720。If the data block to be written is transferred, step 760 is performed, and if the data block to be written is not transmitted, step 720 is performed.
760,确定第一写命令对应的BL的传输周期是否结束。760. Determine whether a transmission period of the BL corresponding to the first write command ends.
如果传输周期结束,则执行步骤780,传输结束。如果传输周期为结束,则执行步骤770。If the transmission period ends, step 780 is performed and the transmission ends. If the transmission period is the end, step 770 is performed.
770,传输预设数据块。770, transmitting a preset data block.
具体地,在传输完DM信息块和非掩码数据块后,如果传输周期未结束,则传输预设数据块,直到传输周期结束。Specifically, after the DM information block and the non-masked data block are transmitted, if the transmission period is not completed, the preset data block is transmitted until the end of the transmission period.
780,传输结束。780, the transfer ends.
因此,本申请实施例通过摒弃传输BL对应的数据块中的第一个掩码数据块的数据,通过增加传输一个DM信息块,在不增加传输的数据量的基础上实现了DM的传输,避免了额外的传输时间,能够节省传输资源。Therefore, in the embodiment of the present application, by discarding the data of the first mask data block in the data block corresponding to the transmission BL, by transmitting a DM information block, the DM transmission is realized without increasing the amount of data transmitted. It avoids extra transmission time and saves transmission resources.
330,内存芯片根据第一DM信息块的指示,将待写入的数据块中的非掩码数据块写入内存芯片的存储介质中。330. The memory chip writes the non-masked data block in the data block to be written into the storage medium of the memory chip according to the indication of the first DM information block.
应理解,上述情况一和情况二中的预设规则为内存控制器和内存芯片预先知道的规则,在内存控制器按照上述预设规则发送数据块后,内存芯片获取到该N个数据块后,可以根据DM信息确定出待写入的N个数据块中的掩码数据块和非掩码数据块,并可以按照该预设规则解码出接收到的N个数据块中的非掩码数据块在内存芯片的存储介质中的地址,并根据解码出的地址,将所述待写入的数据块中的非掩码数据块写入存储介质中。It should be understood that the preset rules in the first case and the second case are rules that are known in advance by the memory controller and the memory chip. After the memory controller sends the data block according to the preset rule, the memory chip acquires the N data blocks. The mask data block and the non-mask data block in the N data blocks to be written may be determined according to the DM information, and the unmasked data in the received N data blocks may be decoded according to the preset rule. The address of the block in the storage medium of the memory chip, and the non-masked data block in the data block to be written is written into the storage medium according to the decoded address.
应理解,上述图4和图6的实施例中描述了待传输的数据块为8个,对应的DM信息为8比特,即恰好等于一个数据块的数据量的情况,但本申请实施例并不限于此,待传输的数据块也可以为4个或16个等,相应的,传输信息的比特数可以与数据块的个数对应。It should be understood that the foregoing embodiment of FIG. 4 and FIG. 6 describes that the number of data blocks to be transmitted is eight, and the corresponding DM information is 8 bits, that is, the case where the data amount of one data block is exactly equal, but the embodiment of the present application is The data block to be transmitted may also be 4 or 16 or the like. Correspondingly, the number of bits of the transmission information may correspond to the number of data blocks.
应注意,在上述情况二中,当掩码数据块的数量较多时,内存控制器发送的N个数据块仅包括较少的非掩码数据块和第一DM信息块,包括较多的无用的预设数据块,造成资源的浪费。It should be noted that, in the foregoing case 2, when the number of masked data blocks is large, the N data blocks sent by the memory controller include only a small number of non-masked data blocks and the first DM information block, including more useless. The default data block causes a waste of resources.
特别地,在当掩码数据块的数量K大于或等于Q/2+1时,由于最多需要Q/2个数据块即可把有用的数据块传输完成,Q=N。因此,本申请实施例中在这种情况下,可以仅传输Q/2个数据块即可,摒弃传输剩余的Q/2个数据块。In particular, when the number K of masked data blocks is greater than or equal to Q/2+1, the useful data block transmission can be completed because Q/2 data blocks are required at most, Q=N. Therefore, in this case, in this embodiment, only Q/2 data blocks can be transmitted, and the remaining Q/2 data blocks are discarded.
相应地,作为另一实施例,本申请实施例的方法还可以包括:Correspondingly, as another embodiment, the method of the embodiment of the present application may further include:
该内存控制器向该内存芯片发送第二写命令;The memory controller sends a second write command to the memory chip;
该内存控制器根据该第二写命令向该内存芯片发送P个数据块,该P个数据块中的一个数据块为第二DM信息块,该第二DM信息块用于指示该内存芯片根据该第二写命令待写入的Q个数据块中的K个掩码数据块的位置,该P个数据块包括该Q个数据块中的非掩码数据块,其中,该Q个数据块中的非掩码数据块的个数为M,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q。The memory controller sends P data blocks to the memory chip according to the second write command, where one of the P data blocks is a second DM information block, and the second DM information block is used to indicate that the memory chip is The second write command positions the K mask data blocks in the Q data blocks to be written, the P data blocks include non-masked data blocks in the Q data blocks, where the Q data blocks The number of non-masked data blocks is M, Q=N, P=Q/2, K is greater than or equal to Q/2+1, and M is an integer greater than 0 and less than or equal to P-1, M+K= Q.
应理解,为了区分不同的实施例,这里使用了Q,实际上Q=N,这里Q可以用N替代。 It should be understood that in order to distinguish between different embodiments, Q is used here, in fact Q = N, where Q can be replaced with N.
应理解,该第二写命令可以为带有突发突变(burst chop)属性或者标志的写命令,该第二写命令对应的突发长度为第一写命令对应的突发长度的一半,例如,第二写命令对应的突发长度为8,Q=8,相应地,P=4。It should be understood that the second write command may be a write command with a burst chop attribute or a flag, and the burst length corresponding to the second write command is half of the burst length corresponding to the first write command, for example The burst length corresponding to the second write command is 8, Q=8, and correspondingly, P=4.
例如,如图8所示,以DDR5,内存芯片为×4DRAM芯片为例,在待写入的数据量为64比特,待写入的数据块(也可以称为原始数据块)为8块,即N=8。待写入的数据块为数据块1至数据块8,其中,每个数据块对应8比特的数据。如图8所示,待写入的数据块中的掩码数据块包括数据块3、数据块4、数据块5、数据块7和数据块8。非掩码数据块包括数据块1、数据块2和数据块4。该待写入的数据块对应的DM信息即为00111011。其中,DM信息比特取值为0时,表示对应的数据块为非掩码数据块,DM信息比特取值为1时,表示对应的数据块为掩码数据块。For example, as shown in FIG. 8, taking DDR5 and the memory chip as a ×4 DRAM chip as an example, the amount of data to be written is 64 bits, and the data block to be written (which may also be referred to as a raw data block) is 8 blocks. That is, N=8. The data blocks to be written are data block 1 to data block 8, wherein each data block corresponds to 8-bit data. As shown in FIG. 8, the mask data block in the data block to be written includes data block 3, data block 4, data block 5, data block 7, and data block 8. The non-masked data block includes data block 1, data block 2, and data block 4. The DM information corresponding to the data block to be written is 00111011. When the value of the DM information bit is 0, it indicates that the corresponding data block is a non-masked data block, and when the DM information bit has a value of 1, it indicates that the corresponding data block is a masked data block.
具体地,在实际传输时,内存控制器可以通过4个周期依次传输4个数据块。其中,传输的4个数据块中的第一个数据块为第一DM信息块,传输的第2个至第4个数据块对应待写入的数据块1、待写入的数据块2和待写入的数据块6。Specifically, during actual transmission, the memory controller can sequentially transfer 4 data blocks through 4 cycles. The first data block of the transmitted 4 data blocks is a first DM information block, and the 2nd to 4th data blocks transmitted correspond to the data block to be written, the data block 2 to be written, and Data block 6 to be written.
应理解,图8的实施例中描述了P恰好等于M+1的情况,也就是说,待写入的非掩码数据块的个数M正好等于P-1的情况,这种情况下,第一DM信息块加上M个非掩码数据块恰巧填满该N个数据块的情况。可选地,在当M小于P-1时,与上文描述的情况二类似,在P个数据块中还可以包括预设数据块。It should be understood that the embodiment of FIG. 8 describes the case where P is exactly equal to M+1, that is, the number M of non-masked data blocks to be written is exactly equal to P-1. In this case, The first DM information block plus the M non-masked data blocks happens to fill the N data blocks. Optionally, when M is smaller than P-1, similar to case 2 described above, a preset data block may also be included in the P data blocks.
根据上述的描述,在图8的实施例中,内存控制器可以按照如下预设规则发送DM信息:首先传输DM信息,之后内存控制器会根据DM信息判断每一个待写入的数据块是否掩码数据块,如果是掩码数据块则不传输,如果是非掩码数据块,则跟着前面传输的数据块传输。在非掩码块传输完成之后,剩余的传输块可以传输预设数据块,例如,预设数据块包括8比特的0,或8比特的1,本申请实施例并不限于此。According to the above description, in the embodiment of FIG. 8, the memory controller may send the DM information according to the following preset rule: firstly, the DM information is transmitted, and then the memory controller determines whether each data block to be written is masked according to the DM information. The code data block is not transmitted if it is a masked data block, and if it is a non-masked data block, it is transmitted along with the previously transmitted data block. After the non-masked block transmission is completed, the remaining transport blocks may transmit the preset data block. For example, the preset data block includes 8 bits of 0, or 8 bits of 1. The embodiment of the present application is not limited thereto.
在图8所示的实施例中,在内存控制器按照上述预设规则发送数据块后,内存芯片获取到该P个数据块后,可以根据DM信息确定出待写入的N个数据块中的掩码数据块和非掩码数据块,并可以按照该预设规则解码出接收到的P个数据块中的非掩码数据块在内存芯片的存储介质中的地址,并根据解码出的地址,将所述待写入的数据块中的非掩码数据块写入存储介质中。In the embodiment shown in FIG. 8, after the memory controller sends the data block according to the preset rule, after the memory chip acquires the P data blocks, the memory chip can determine the N data blocks to be written according to the DM information. The mask data block and the non-mask data block, and can decode the address of the non-masked data block in the received P data block in the storage medium of the memory chip according to the preset rule, and according to the decoded An address that writes the non-masked data block in the data block to be written into the storage medium.
因此,本申请实施例在待传输的掩码数据块的数量大于或等于Q/2+1时,由于最多需要Q/2个数据块即可把有用的数据块传输完成,因此,本申请实施例中在这种情况下,将突发长度减半,在实现DM传输的情况下,进一步减小了资源的浪费,能够提升计算机性能。Therefore, in the embodiment of the present application, when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
需要说明的是,上文中以内存芯片为×4DRAM为例,描述了不通过额外的管脚以及额外的传输时间实现DM信息的传输的方法,但是本申请实施例并不限于×4DRAM,例如,本申请实施例的方法也可以应用于×8DRAM中,前文已说明,×8DRAM中的空闲的DQS可以用于实现传输DM信息的方法,当本申请实施例的方法应用于×8DRAM时,可以不再使用该多余DQS管脚传输DM信息,能够减少管脚的使用量,节省管脚资源,提升计算机性能。It should be noted that, in the above, taking the memory chip as ×4 DRAM as an example, a method of implementing transmission of DM information without using additional pins and additional transmission time is described, but the embodiment of the present application is not limited to ×4 DRAM, for example, The method of the embodiment of the present application can also be applied to the X8 DRAM. As described above, the idle DQS in the ×8 DRAM can be used to implement the method for transmitting the DM information. When the method of the embodiment of the present application is applied to the ×8 DRAM, the method may not Using the redundant DQS pins to transmit DM information can reduce the amount of pins used, save pin resources, and improve computer performance.
应理解,上述实施例中以内存芯片为DRAM芯片为例进行描述,但本申请实施例并不限于此,在本申请实施例中,内存芯片还可以为其他形式的芯片,例如为非易失性存储器(none volatile memory,NVM)芯片等,例如,该内存芯片可以包括相变存储器(phase  change memory,PCM)芯片、阻变存储器(resistive random access memory,RRAM)芯片等。还应理解,本实施实施例中并不对内存芯片的数据总线的宽度做限定。It should be understood that, in the above embodiment, the memory chip is a DRAM chip as an example, but the embodiment of the present application is not limited thereto. In the embodiment of the present application, the memory chip may also be other types of chips, such as a nonvolatile A memory (none volatile memory (NVM) chip, etc., for example, the memory chip may include a phase change memory (phase Change memory, PCM) chip, resistive memory (RRAM) chip. It should also be understood that the width of the data bus of the memory chip is not limited in the embodiment.
应注意,上述实施例的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数值或具体场景。本领域技术人员根据上述给出的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本申请实施例的范围内。上文结合图1至图8,详细描述了本申请实施例的传输DM信息的方法,下文结合图9描述本申请实施例的内存控制器,结合图10描述本申请实施例的内存芯片,结合图11描述本申请实施例的计算机系统。It should be noted that the examples of the above embodiments are only intended to help those skilled in the art to understand the embodiments of the present application, and the embodiments of the present application are not limited to the specific numerical values or specific examples illustrated. A person skilled in the art will be able to make various modifications or changes in the embodiments according to the examples given above, and such modifications or variations are also within the scope of the embodiments of the present application. The method for transmitting DM information in the embodiment of the present application is described in detail with reference to FIG. 1 to FIG. 8 . The memory controller of the embodiment of the present application is described below with reference to FIG. 9 , and the memory chip of the embodiment of the present application is described in combination with FIG. 10 . Figure 11 depicts a computer system of an embodiment of the present application.
图9是本申请实施例的内存控制器的示意性结构图。图9所示的内存控制器可以接收CPU的读写请求,根据获取的读写请求对内存进行读写。具体的,图9所示的内存控制器900包括:FIG. 9 is a schematic structural diagram of a memory controller according to an embodiment of the present application. The memory controller shown in FIG. 9 can receive a read/write request of the CPU, and reads and writes the memory according to the acquired read/write request. Specifically, the memory controller 900 shown in FIG. 9 includes:
前端接口910,连接计算机系统中的处理器,该前端接口用于接收该处理器的写请求,该写请求中包含有待写入的数据块,该待写入的数据块的个数为N,N为大于或等于2的整数;The front-end interface 910 is connected to a processor in the computer system, and the front-end interface is configured to receive a write request of the processor, where the write request includes a data block to be written, and the number of the data block to be written is N. N is an integer greater than or equal to 2;
内存总线接口920,通过双倍速率DDR总线与内存芯片相连,该内存总线接口用于:The memory bus interface 920 is connected to the memory chip through a double rate DDR bus, and the memory bus interface is used for:
根据该写请求,向该内存芯片发送第一写命令,该第一写命令中包含有第一指示信息,该第一指示信息用于指示该待写入的数据块中具有掩码数据块,该待写入的数据块的个数为N,N为大于或等于2的整数;And sending, by the write request, a first write command to the memory chip, where the first write command includes first indication information, where the first indication information is used to indicate that the data block to be written has a mask data block. The number of data blocks to be written is N, and N is an integer greater than or equal to 2;
并且,该内存总线接口根据该第一写命令写请求向该内存芯片发送N个数据块,其中,该N个数据块中的一个数据块为第一DM信息块,该第一DM信息块用于指示该N个待写入的数据块中的掩码数据块的位置,该N个数据块包括该N个待写入的数据块中的非掩码数据块。And the memory bus interface sends N data blocks to the memory chip according to the first write command write request, wherein one of the N data blocks is a first DM information block, and the first DM information block is used by the first DM information block. And indicating a location of the masked data block in the N data blocks to be written, the N data blocks including the non-masked data blocks in the N data blocks to be written.
可选地,作为另一实施例,内存控制器900还可以包括控制电路,该控制电路可以根据前端端口910接收的写请求,生成第一写命令,并控制内存总线接口920通过双倍速率DDR总线向该内存芯片发送第一写命令,以及发送该N个数据块。Optionally, as another embodiment, the memory controller 900 may further include a control circuit that can generate a first write command according to a write request received by the front end port 910 and control the memory bus interface 920 to pass the double rate DDR. The bus sends a first write command to the memory chip and transmits the N data blocks.
因此,本申请实施例通过将传输的N个数据块中的一个数据块作为DM信息块,在不增加管脚的情况下实现了DM的传输,并且该N个数据块中包括有待写入数据块中的非掩码数据块,能够保证有用数据的传输的基础上,实现在不增加传输的数据量的情况下DM的传输,能够避免了额外的传输时间,节省传输资源。Therefore, in the embodiment of the present application, by using one of the N data blocks to be transmitted as a DM information block, the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written. The non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
可选地,作为另一实施例,该第一DM信息块为该N个数据块中的第一个数据块。Optionally, as another embodiment, the first DM information block is the first data block of the N data blocks.
可选地,作为另一实施例,该待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N;Optionally, as another embodiment, the first mask data block in the data block to be written is the nth data block, where n is greater than 0 and less than or equal to N;
该N个数据块中的第2至第n个数据块为该待写入的数据块中的第1至第n-1个数据块,该N个数据块中的第n+1至第N个数据块为该待写入的数据块中的第n+1至第N个数据块。The second to nth data blocks of the N data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th to the Nth of the N data blocks The data blocks are the n+1th to Nthth data blocks in the data block to be written.
可选地,作为另一实施例,该待写入的数据块中具有Z个非掩码数据块,其中,该Z为大于0且小于N的整数;Optionally, as another embodiment, the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N;
该N个数据块中的第2至第Z+1个数据块为该Z个非掩码数据块,当Z小于等于N-2时,该N个数据块中的第Z+2至第N个数据块为预设数据块。The second to the Z+1th data blocks of the N data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2 to the Nth of the N data blocks The data blocks are preset data blocks.
可选地,作为另一实施例,该内存总线接口还用于向该内存芯片发送第二写命令, 并根据该第二写命令向该内存芯片发送P个数据块,该P个数据块中的一个数据块为第二DM信息块,该第二DM信息块用于指示该内存芯片根据该第二写命令待写入的Q个数据块中的K个掩码数据块的位置,该P个数据块包括该Q个数据块中的非掩码数据块,其中,该Q个数据块中的非掩码数据块的个数为M,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q。Optionally, in another embodiment, the memory bus interface is further configured to send a second write command to the memory chip. And sending, according to the second write command, P data blocks to the memory chip, where one of the P data blocks is a second DM information block, and the second DM information block is used to indicate that the memory chip is according to the second Writing a command to the position of the K mask data blocks in the Q data blocks to be written, the P data blocks including the non-masked data blocks in the Q data blocks, wherein the non-masked data blocks in the Q data blocks The number of masked data blocks is M, Q=N, P=Q/2, K is greater than or equal to Q/2+1, and M is an integer greater than 0 and less than or equal to P-1, and M+K=Q.
因此,本申请实施例在待传输的掩码数据块的数量大于或等于Q/2+1时,由于最多需要Q/2个数据块即可把有用的数据块传输完成,因此,本申请实施例中在这种情况下,将突发长度减半,在实现DM传输的情况下,进一步减小了资源的浪费,能够提升计算机性能。Therefore, in the embodiment of the present application, when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
应理解,内存控制器900能够实现图2至图8所涉及的方法实施例中由内存控制器完成的各个过程。内存控制器900中的各个模块的操作和/或功能,分别为了实现图2至图8所涉及的方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详述描述。It should be understood that the memory controller 900 can implement the various processes performed by the memory controller in the method embodiments of FIGS. 2-8. The operations and/or functions of the various modules in the memory controller 900 are respectively implemented in order to implement the corresponding processes in the method embodiments of FIG. 2 to FIG. For details, refer to the description in the foregoing method embodiments. To avoid repetition, the detailed description is omitted here.
图10是本申请实施例的内存芯片的示意性结构图。图10所示的内存芯片可以接收内存控制器发送的读写命令,并根据读写命令进行读写处理。具体的,图10所示的内存芯片1000包括:FIG. 10 is a schematic structural diagram of a memory chip according to an embodiment of the present application. The memory chip shown in FIG. 10 can receive read and write commands sent by the memory controller, and perform read and write processing according to the read and write commands. Specifically, the memory chip 1000 shown in FIG. 10 includes:
存储介质1010,用于储存数据;a storage medium 1010, configured to store data;
介质控制器1020,通过双倍速率DDR总线与计算机系统中的内存控制器相连,The media controller 1020 is connected to the memory controller in the computer system through a double rate DDR bus.
该介质控制器通过该DDR总线接收该内存控制器发送的第一写命令,该第一写命令中包含有第一指示信息,该第一指示信息用于指示待写入的数据块中具有掩码数据块,该待写入的数据块的个数为N,N为大于或等于2的整数;Receiving, by the DDR bus, the first write command sent by the memory controller, where the first write command includes first indication information, where the first indication information is used to indicate that the data block to be written has a mask a code data block, the number of data blocks to be written is N, and N is an integer greater than or equal to 2;
该介质控制器通过该DDR总线接收该内存控制器根据该第一写命令发送的N个数据块,其中,该N个数据块中的一个数据块为第一DM信息块,该第一DM信息块用于指示该N个待写入的数据块中的掩码数据块的位置,该N个数据块包括该待写入的数据块中的非掩码数据块,Receiving, by the DDR bus, the N data blocks sent by the memory controller according to the first write command, where the data block of the N data blocks is a first DM information block, the first DM information a block is used to indicate a location of a masked data block in the N data blocks to be written, the N data blocks including non-masked data blocks in the data block to be written,
该介质控制器根据该第一DM信息块的指示,将该待写入的数据块中的非掩码数据块写入该存储介质中。The media controller writes the non-masked data block in the data block to be written into the storage medium according to the indication of the first DM information block.
应理解,本申请实施例中,介质控制器1020可以包括控制电路、通信接口和缓存器,介质控制器可以通过通信接口接收第一写命令以及该N个数据块,控制电路可以将该N个数据块存入缓存器中,根据DM信息从该N个数据块中选取非掩码数据块写入存储介质中。It should be understood that, in the embodiment of the present application, the media controller 1020 may include a control circuit, a communication interface, and a buffer. The media controller may receive the first write command and the N data blocks through the communication interface, and the control circuit may The data block is stored in the buffer, and the non-masked data block is selected from the N data blocks and written into the storage medium according to the DM information.
因此,本申请实施例通过将传输的N个数据块中的一个数据块作为DM信息块,在不增加管脚的情况下实现了DM的传输,并且该N个数据块中包括有待写入数据块中的非掩码数据块,能够保证有用数据的传输的基础上,实现在不增加传输的数据量的情况下DM的传输,能够避免了额外的传输时间,节省传输资源。Therefore, in the embodiment of the present application, by using one of the N data blocks to be transmitted as a DM information block, the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written. The non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
应理解,本申请实施例中该内存芯片可以包括DRAM芯片、PCM芯片或RRAM芯片等,本申请实施例并不限于此。It should be understood that the memory chip in the embodiment of the present application may include a DRAM chip, a PCM chip, or a RRAM chip, etc., and the embodiment of the present application is not limited thereto.
可选地,作为另一实施例,该第一DM信息块为该N个数据块中的第一个数据块。Optionally, as another embodiment, the first DM information block is the first data block of the N data blocks.
可选地,作为另一实施例,该待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N; Optionally, as another embodiment, the first mask data block in the data block to be written is the nth data block, where n is greater than 0 and less than or equal to N;
该N个数据块中的第2至第n个数据块为该待写入的数据块中的第1至第n-1个数据块,该N个数据块中的第n+1至第N个数据块为该待写入的数据块中的第n+1至第N个数据块。The second to nth data blocks of the N data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th to the Nth of the N data blocks The data blocks are the n+1th to Nthth data blocks in the data block to be written.
可选地,作为另一实施例,该待写入的数据块中具有Z个非掩码数据块,其中,该Z为大于0且小于N的整数;Optionally, as another embodiment, the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N;
该N个数据块中的第2至第Z+1个数据块为该Z个非掩码数据块,当Z小于等于N-2时,该N个数据块中的第Z+2至第N个数据块为预设数据块。The second to the Z+1th data blocks of the N data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2 to the Nth of the N data blocks The data blocks are preset data blocks.
可选地,作为另一实施例,该介质控制器还用于接收该内存控制器发送的第二写命令;Optionally, in another embodiment, the media controller is further configured to receive a second write command sent by the memory controller;
该介质控制器还用于接收该内存控制器发送的P个数据块,该P个数据块中的一个数据块为第二DM信息块,该第二DM信息块用于指示该内存芯片根据该第二写命令待写入的Q个数据块中的K个掩码数据块的位置,该P个数据块包括该Q个数据块中的非掩码数据块,其中,该Q个数据块中的非掩码数据块的个数为M,M小于或等于P-1,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q;The media controller is further configured to receive P data blocks sent by the memory controller, where one of the P data blocks is a second DM information block, where the second DM information block is used to indicate that the memory chip is configured according to the The second write command positions the K mask data blocks in the Q data blocks to be written, the P data blocks include non-masked data blocks in the Q data blocks, where the Q data blocks are The number of non-masked data blocks is M, M is less than or equal to P-1, Q=N, P=Q/2, K is greater than or equal to Q/2+1, and M is greater than 0 and less than or equal to P-1. Integer, M+K=Q;
该介质控制器还用于根据该第二DM信息的指示,将该待写入的Q个数据块中的非掩码数据块写入该存储介质中。The medium controller is further configured to write the non-masked data block of the Q data blocks to be written into the storage medium according to the indication of the second DM information.
因此,本申请实施例在待传输的掩码数据块的数量大于或等于Q/2+1时,由于最多需要Q/2个数据块即可把有用的数据块传输完成,因此,本申请实施例中在这种情况下,将突发长度减半,在实现DM传输的情况下,进一步减小了资源的浪费,能够提升计算机性能。Therefore, in the embodiment of the present application, when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
应理解,内存芯片1000能够实现图2至图8所涉及的方法实施例中由内存芯片完成的各个过程。内存芯片1000中的各个模块的操作和/或功能,分别为了实现图2至图8所涉及的方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详述描述。It should be understood that the memory chip 1000 can implement the various processes performed by the memory chip in the method embodiments of FIGS. 2-8. The operations and/or functions of the various modules in the memory chip 1000 are respectively implemented in order to implement the corresponding processes in the method embodiments of FIG. 2 to FIG. For details, refer to the description in the foregoing method embodiments. To avoid repetition, the detailed description is omitted here.
图11是本申请实施例的计算机系统的示意性结构图。图11的计算机系统1100包括图9描述的内存控制器900,以及图10描述的内存芯片1000。11 is a schematic structural diagram of a computer system of an embodiment of the present application. The computer system 1100 of FIG. 11 includes the memory controller 900 depicted in FIG. 9, and the memory chip 1000 depicted in FIG.
具体的,内存控制器,通过双倍速率DDR总线与该内存芯片相连,Specifically, the memory controller is connected to the memory chip through a double rate DDR bus.
该内存控制器通过该DDR总线向该内存芯片发送第一写命令,该第一写命令中包含有第一指示信息,该第一指示信息用于指示待写入的数据块中具有掩码数据块,该待写入的数据块的个数为N,N为大于或等于2的整数;The memory controller sends a first write command to the memory chip through the DDR bus, where the first write command includes first indication information, where the first indication information is used to indicate that the data block to be written has mask data. a block, the number of data blocks to be written is N, and N is an integer greater than or equal to 2;
该内存控制器根据该第一写命令通过该DDR总线向该内存芯片发送N个数据块,其中,该N个数据块中的一个数据块为第一DM信息块,该第一DM信息块用于指示该待写入的数据块中的掩码数据块的位置,该N个数据块包括该N个待写入的数据块中的非掩码数据块;The memory controller sends N data blocks to the memory chip through the DDR bus according to the first write command, wherein one of the N data blocks is a first DM information block, and the first DM information block is used by the first DM information block. And indicating a location of the mask data block in the data block to be written, the N data blocks including the non-masked data blocks in the N data blocks to be written;
该内存芯片根据该第一DM信息块的指示,将该待写入的数据块中的非掩码数据块写入该内存芯片的存储介质中。The memory chip writes the non-masked data block in the data block to be written into the storage medium of the memory chip according to the indication of the first DM information block.
因此,本申请实施例通过将传输的N个数据块中的一个数据块作为DM信息块,在不增加管脚的情况下实现了DM的传输,并且该N个数据块中包括有待写入数据块中的非掩码数据块,能够保证有用数据的传输的基础上,实现在不增加传输的数据量的情况下DM的传输,能够避免了额外的传输时间,节省传输资源。 Therefore, in the embodiment of the present application, by using one of the N data blocks to be transmitted as a DM information block, the transmission of the DM is implemented without adding a pin, and the N data blocks include data to be written. The non-masked data block in the block can ensure the transmission of the useful data, realizes the transmission of the DM without increasing the amount of data transmitted, can avoid additional transmission time, and saves transmission resources.
可选地,在本申请实施例的计算机系统1100中还可以包括缓存器或其他介质。具体的,内存控制器和内存芯片之间可以通过该缓冲器(buffer)或者介质控制器连接。其中,内存控制器和缓冲器(buffer)或者介质控制器连接;缓冲器(buffer)或者介质控制器内存连接。Optionally, a buffer or other medium may also be included in the computer system 1100 of the embodiment of the present application. Specifically, the memory controller and the memory chip can be connected through the buffer or the media controller. The memory controller is connected to a buffer or a media controller; a buffer or a media controller memory connection.
可选地,作为另一实施例,该第一DM信息块为该N个数据块中的第一个数据块。Optionally, as another embodiment, the first DM information block is the first data block of the N data blocks.
可选地,作为另一实施例,该待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N的整数;Optionally, as another embodiment, the first mask data block in the data block to be written is the nth data block, and n is an integer greater than 0 and less than or equal to N;
该N个数据块中的第2至第n个数据块为该待写入的数据块中的第1至第n-1个数据块,该N个数据块中的第n+1至第N个数据块为该待写入的数据块中的第n+1至第N个数据块。The second to nth data blocks of the N data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th to the Nth of the N data blocks The data blocks are the n+1th to Nthth data blocks in the data block to be written.
可选地,作为另一实施例,该待写入的数据块中具有Z个非掩码数据块,其中,该Z为大于0且小于N的整数;Optionally, as another embodiment, the data block to be written has Z non-masked data blocks, where the Z is an integer greater than 0 and less than N;
该N个数据块中的第2至第Z+1个数据块为该Z个非掩码数据块,当Z小于等于N-2时,该N个数据块中的第Z+2至第N个数据块为预设数据块。The second to the Z+1th data blocks of the N data blocks are the Z non-masked data blocks, and when Z is less than or equal to N-2, the Z+2 to the Nth of the N data blocks The data blocks are preset data blocks.
可选地,作为另一实施例,该内存控制器还用于向该内存芯片发送第二写命令;Optionally, in another embodiment, the memory controller is further configured to send a second write command to the memory chip;
该内存控制器还用于根据该第二写命令向该内存芯片发送P个数据块,,该P个数据块中的一个数据块为第二DM信息块,该第二DM信息块用于指示该内存芯片根据该第二写命令待写入的Q个数据块中的K个掩码数据块的位置,该P个数据块包括该Q个数据块中的非掩码数据块,其中,该Q个数据块中的非掩码数据块的个数为M,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q;The memory controller is further configured to send P data blocks to the memory chip according to the second write command, where one of the P data blocks is a second DM information block, and the second DM information block is used to indicate The memory chip includes a position of the K mask data blocks in the Q data blocks to be written according to the second write command, where the P data blocks include non-masked data blocks in the Q data blocks, where The number of non-masked data blocks in the Q data blocks is M, Q=N, P=Q/2, K is greater than or equal to Q/2+1, and M is an integer greater than 0 and less than or equal to P-1. M+K=Q;
该内存芯片还用于根据该第二DM信息块的指示,将该待写入的Q个数据块中的非掩码数据块写入该存储介质中。The memory chip is further configured to write the non-masked data block of the Q data blocks to be written into the storage medium according to the indication of the second DM information block.
因此,本申请实施例在待传输的掩码数据块的数量大于或等于Q/2+1时,由于最多需要Q/2个数据块即可把有用的数据块传输完成,因此,本申请实施例中在这种情况下,将突发长度减半,在实现DM传输的情况下,进一步减小了资源的浪费,能够提升计算机性能。Therefore, in the embodiment of the present application, when the number of mask data blocks to be transmitted is greater than or equal to Q/2+1, the useful data block transmission can be completed because at most Q/2 data blocks are needed. Therefore, the present application implements In this case, the burst length is halved, and in the case of implementing DM transmission, the waste of resources is further reduced, and the computer performance can be improved.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods to implement the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present application.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。A person skilled in the art can clearly understand that for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示 的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The unit described as a separate component may or may not be physically separated as a unit display The components may or may not be physical units, ie may be located in one place, or may be distributed over multiple network elements. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。The functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product. Based on such understanding, the technical solution of the present application, which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including The instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program code. .
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。 The foregoing is only a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto, and any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed in the present application. It should be covered by the scope of protection of this application. Therefore, the scope of protection of the present application should be determined by the scope of the claims.

Claims (25)

  1. 一种传输数据掩码DM的方法,其特征在于,包括:A method for transmitting a data mask DM, comprising:
    内存控制器向内存芯片发送第一写命令,所述第一写命令中包含有第一指示信息,所述第一指示信息用于指示待写入的数据块中具有掩码数据块,所述待写入的数据块的个数为N,N为大于或等于2的整数;The memory controller sends a first write command to the memory chip, where the first write command includes first indication information, where the first indication information is used to indicate that the data block to be written has a mask data block, The number of data blocks to be written is N, and N is an integer greater than or equal to 2;
    所述内存控制器根据所述第一写命令向所述内存芯片发送N个数据块,其中,所述N个数据块中的一个数据块为第一DM信息块,所述第一DM信息块用于指示所述待写入的数据块中的掩码数据块的位置,所述N个数据块包括所述待写入的数据块中的非掩码数据块。The memory controller sends N data blocks to the memory chip according to the first write command, where one of the N data blocks is a first DM information block, and the first DM information block And a location for indicating a masked data block in the data block to be written, where the N data blocks include non-masked data blocks in the data block to be written.
  2. 根据权利要求1所述的方法,其特征在于,所述第一DM信息块为所述N个数据块中的第一个数据块。The method of claim 1, wherein the first DM information block is the first one of the N data blocks.
  3. 根据权利要求2所述的方法,其特征在于,所述待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N的整数;The method according to claim 2, wherein the first mask data block in the data block to be written is the nth data block, and n is an integer greater than 0 and less than or equal to N;
    所述N个数据块中的第2至第n个数据块为所述待写入的数据块中的第1至第n-1个数据块,所述N个数据块中的第n+1至第N个数据块为所述待写入的数据块中的第n+1至第N个数据块。The second to nth data blocks of the N data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th of the N data blocks The Nth data block is the n+1th to Nthth data block in the data block to be written.
  4. 根据权利要求2所述的方法,其特征在于,所述待写入的数据块中具有Z个非掩码数据块,其中,所述Z为大于0且小于N的整数;The method according to claim 2, wherein the data block to be written has Z non-masked data blocks, wherein the Z is an integer greater than 0 and less than N;
    所述N个数据块中的第2至第Z+1个数据块为所述Z个非掩码数据块,所述N个数据块中的第Z+2至第N个数据块为预设数据块。The second to the Z+1th data blocks of the N data blocks are the Z non-masked data blocks, and the Z+2th to Nth data blocks of the N data blocks are preset data block.
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,还包括:The method according to any one of claims 1 to 4, further comprising:
    所述内存控制器向所述内存芯片发送第二写命令;The memory controller sends a second write command to the memory chip;
    所述内存控制器根据所述第二写命令向所述内存芯片发送P个数据块,所述P个数据块中的一个数据块为第二DM信息块,所述第二DM信息块用于指示所述内存芯片根据所述第二写命令待写入的Q个数据块中的K个掩码数据块的位置,所述P个数据块包括所述Q个数据块中的非掩码数据块,其中,所述Q个数据块中的非掩码数据块的个数为M,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q。The memory controller sends P data blocks to the memory chip according to the second write command, one of the P data blocks is a second DM information block, and the second DM information block is used for Instructing the memory chip to select a location of K mask data blocks in the Q data blocks to be written according to the second write command, the P data blocks including non-mask data in the Q data blocks a block, wherein the number of non-masked data blocks in the Q data blocks is M, Q=N, P=Q/2, K is greater than or equal to Q/2+1, and M is greater than 0 and less than or equal to An integer of P-1, M+K=Q.
  6. 一种传输数据掩码DM的方法,其特征在于,包括:A method for transmitting a data mask DM, comprising:
    内存芯片接收内存控制器发送的第一写命令,所述第一写命令中包含有第一指示信息,所述第一指示信息用于指示待写入的数据块中具有掩码数据块,所述待写入的数据块的个数为N,N为大于或等于2的整数;The memory chip receives a first write command sent by the memory controller, where the first write command includes first indication information, where the first indication information is used to indicate that the data block to be written has a mask data block. The number of data blocks to be written is N, and N is an integer greater than or equal to 2;
    所述内存芯片接收所述内存控制器根据所述第一写命令发送的N个数据块,其中,所述N个数据块中的一个数据块为第一DM信息块,所述第一DM信息块用于指示所述待写入的数据块中的掩码数据块的位置,所述N个数据块包括所述待写入的数据块中的非掩码数据块,The memory chip receives N data blocks sent by the memory controller according to the first write command, where one of the N data blocks is a first DM information block, and the first DM information The block is configured to indicate a location of the masked data block in the data block to be written, where the N data blocks include a non-masked data block in the data block to be written,
    所述内存芯片根据所述第一DM信息块的指示,将所述待写入的数据块中的非掩码数据块写入所述内存芯片的存储介质中。The memory chip writes the non-masked data block in the data block to be written into the storage medium of the memory chip according to the indication of the first DM information block.
  7. 根据权利要求6所述的方法,其特征在于,所述第一DM信息块为所述N个数据块中的第一个数据块。The method of claim 6, wherein the first DM information block is the first one of the N data blocks.
  8. 根据权利要求7所述的方法,其特征在于,所述待写入的数据块中的首个掩码数 据块为第n个数据块,n为大于0且小于等于N的整数;The method according to claim 7, wherein the first number of masks in the data block to be written According to the block, the nth data block, n is an integer greater than 0 and less than or equal to N;
    所述N个数据块中的第2至第n个数据块为所述待写入的数据块中的第1至第n-1个数据块,所述N个数据块中的第n+1至第N个数据块为所述待写入的数据块中的第n+1至第N个数据块。The second to nth data blocks of the N data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th of the N data blocks The Nth data block is the n+1th to Nthth data block in the data block to be written.
  9. 根据权利要求7所述的方法,其特征在于,所述待写入的数据块中具有Z个非掩码数据块,其中,所述Z为大于0且小于N的整数;The method according to claim 7, wherein the data block to be written has Z non-masked data blocks, wherein the Z is an integer greater than 0 and less than N;
    所述N个数据块中的第2至第Z+1个数据块为所述Z个非掩码数据块,所述N个数据块中的第Z+2至第N个数据块为预设数据块。The second to the Z+1th data blocks of the N data blocks are the Z non-masked data blocks, and the Z+2th to Nth data blocks of the N data blocks are preset data block.
  10. 根据权利要求6至9中任一项所述的方法,其特征在于,还包括:The method according to any one of claims 6 to 9, further comprising:
    所述内存芯片接收所述内存控制器发送的第二写命令;The memory chip receives a second write command sent by the memory controller;
    所述内存芯片接收所述内存控制器根据所述第二写命令发送的P个数据块,所述P个数据块中的一个数据块为第二DM信息块,所述第二DM信息块用于指示所述内存芯片根据所述第二写命令待写入的Q个数据块中的K个掩码数据块的位置,所述P个数据块包括所述Q个数据块中的非掩码数据块,其中,所述Q个数据块中的非掩码数据块的个数为M,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q;The memory chip receives P data blocks sent by the memory controller according to the second write command, and one of the P data blocks is a second DM information block, and the second DM information block is used by the memory module. And indicating, in the location of the K mask data blocks in the Q data blocks to be written by the memory chip according to the second write command, the P data blocks include a non-mask in the Q data blocks a data block, wherein the number of non-masked data blocks in the Q data blocks is M, Q=N, P=Q/2, K is greater than or equal to Q/2+1, and M is greater than 0 and less than An integer equal to P-1, M+K=Q;
    所述内存芯片根据所述第二DM信息块的指示,将所述待写入的Q个数据块中的非掩码数据块写入所述存储介质中。The memory chip writes the non-masked data block of the Q data blocks to be written into the storage medium according to the indication of the second DM information block.
  11. 一种内存控制器,其特征在于,包括:A memory controller, comprising:
    前端接口,连接计算机系统中的处理器,所述前端接口用于接收所述处理器的写请求,所述写请求中包含有待写入的数据块,所述待写入的数据块的个数为N,N为大于或等于2的整数;The front end interface is connected to a processor in the computer system, and the front end interface is configured to receive a write request of the processor, where the write request includes a data block to be written, and the number of the data block to be written N, N is an integer greater than or equal to 2;
    内存总线接口,通过双倍速率DDR总线与内存芯片相连,所述内存总线接口用于:A memory bus interface is coupled to the memory chip via a double rate DDR bus, the memory bus interface for:
    根据所述写请求向所述内存芯片发送第一写命令,所述第一写命令中包含有第一指示信息,所述第一指示信息用于指示所述待写入的数据块中具有掩码数据块;Transmitting, according to the write request, a first write command to the memory chip, where the first write command includes first indication information, where the first indication information is used to indicate that the data block to be written has a mask Code data block
    根据所述第一写命令向所述内存芯片发送N个数据块,其中,所述N个数据块中的一个数据块为第一DM信息块,所述第一DM信息块用于指示所述N个待写入的数据块中的掩码数据块的位置,所述N个数据块包括所述待写入的数据块中的非掩码数据块。Transmitting, according to the first write command, N data blocks to the memory chip, where one of the N data blocks is a first DM information block, where the first DM information block is used to indicate the The location of the masked data block in the N data blocks to be written, the N data blocks including the non-masked data blocks in the data block to be written.
  12. 根据权利要求11所述的内存控制器,其特征在于,所述第一DM信息块为所述N个数据块中的第一个数据块。The memory controller according to claim 11, wherein the first DM information block is the first one of the N data blocks.
  13. 根据权利要求12所述的内存控制器,其特征在于,所述待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N;The memory controller according to claim 12, wherein the first masked data block in the data block to be written is the nth data block, and n is greater than 0 and less than or equal to N;
    所述N个数据块中的第2至第n个数据块为所述待写入的数据块中的第1至第n-1个数据块,所述N个数据块中的第n+1至第N个数据块为所述待写入的数据块中的第n+1至第N个数据块。The second to nth data blocks of the N data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th of the N data blocks The Nth data block is the n+1th to Nthth data block in the data block to be written.
  14. 根据权利要求12所述的内存控制器,其特征在于,所述待写入的数据块中具有Z个非掩码数据块,其中,所述Z为大于0且小于N的整数;The memory controller according to claim 12, wherein the data block to be written has Z non-masked data blocks, wherein the Z is an integer greater than 0 and less than N;
    所述N个数据块中的第2至第Z+1个数据块为所述Z个非掩码数据块,所述N个数据块中的第Z+2至第N个数据块为预设数据块。The second to the Z+1th data blocks of the N data blocks are the Z non-masked data blocks, and the Z+2th to Nth data blocks of the N data blocks are preset data block.
  15. 根据权利要求11至14中任一项所述的内存控制器,其特征在于, A memory controller according to any one of claims 11 to 14, wherein
    所述内存总线接口还用于向所述内存芯片发送第二写命令,并根据所述第二写命令向所述内存芯片发送P个数据块,所述P个数据块中的一个数据块为第二DM信息块,所述第二DM信息块用于指示所述内存芯片根据所述第二写命令待写入的Q个数据块中的K个掩码数据块的位置,所述P个数据块包括所述Q个数据块中的非掩码数据块,其中,所述Q个数据块中的非掩码数据块的个数为M,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q。The memory bus interface is further configured to send a second write command to the memory chip, and send P data blocks to the memory chip according to the second write command, where one of the P data blocks is a second DM information block, where the second DM information block is used to indicate a location of the K mask data blocks in the Q data blocks to be written by the memory chip according to the second write command, the P The data block includes a non-masked data block in the Q data blocks, where the number of non-masked data blocks in the Q data blocks is M, Q=N, P=Q/2, and K is greater than Or equal to Q/2+1, M is an integer greater than 0 and less than or equal to P-1, M+K=Q.
  16. 一种内存芯片,其特征在于,包括:A memory chip, comprising:
    存储介质,用于存储数据;a storage medium for storing data;
    介质控制器,通过双倍速率DDR总线与计算机系统中的内存控制器相连,A media controller connected to a memory controller in a computer system via a double rate DDR bus.
    所述介质控制器通过所述DDR总线接收所述内存控制器发送的第一写命令,所述第一写命令中包含有第一指示信息,所述第一指示信息用于指示待写入的数据块中具有掩码数据块,所述待写入的数据块的个数为N,N为大于或等于2的整数;The media controller receives a first write command sent by the memory controller by using the DDR bus, where the first write command includes first indication information, where the first indication information is used to indicate that the device is to be written. a data block has a mask data block, the number of data blocks to be written is N, and N is an integer greater than or equal to 2;
    所述介质控制器通过所述DDR总线接收所述内存控制器根据所述第一写命令发送的N个数据块,其中,所述N个数据块中的一个数据块为第一DM信息块,所述第一DM信息块用于指示所述N个待写入的数据块中的掩码数据块的位置,所述N个数据块包括所述待写入的数据块中的非掩码数据块,The media controller receives, by the DDR bus, N data blocks that are sent by the memory controller according to the first write command, where one of the N data blocks is a first DM information block, The first DM information block is used to indicate a location of a mask data block in the N data blocks to be written, where the N data blocks include non-mask data in the data block to be written. Piece,
    所述介质控制器根据所述第一DM信息块的指示,将所述待写入的数据块中的非掩码数据块写入所述存储介质中。The media controller writes the non-masked data block in the data block to be written into the storage medium according to the indication of the first DM information block.
  17. 根据权利要求16所述的内存芯片,其特征在于,所述第一DM信息块为所述N个数据块中的第一个数据块。The memory chip of claim 16, wherein the first DM information block is the first one of the N data blocks.
  18. 根据权利要求17所述的内存芯片,其特征在于,所述待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N;The memory chip according to claim 17, wherein the first mask data block in the data block to be written is the nth data block, and n is greater than 0 and less than or equal to N;
    所述N个数据块中的第2至第n个数据块为所述待写入的数据块中的第1至第n-1个数据块,所述N个数据块中的第n+1至第N个数据块为所述待写入的数据块中的第n+1至第N个数据块。The second to nth data blocks of the N data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th of the N data blocks The Nth data block is the n+1th to Nthth data block in the data block to be written.
  19. 根据权利要求17所述的内存芯片,其特征在于,所述待写入的数据块中具有Z个非掩码数据块,其中,所述Z为大于0且小于N的整数;The memory chip according to claim 17, wherein the data block to be written has Z non-masked data blocks, wherein the Z is an integer greater than 0 and less than N;
    所述N个数据块中的第2至第Z+1个数据块为所述Z个非掩码数据块,所述N个数据块中的第Z+2至第N个数据块为预设数据块。The second to the Z+1th data blocks of the N data blocks are the Z non-masked data blocks, and the Z+2th to Nth data blocks of the N data blocks are preset data block.
  20. 根据权利要求16至19中任一项所述的内存芯片,其特征在于,A memory chip according to any one of claims 16 to 19, characterized in that
    所述介质控制器还用于接收所述内存控制器发送的第二写命令;The media controller is further configured to receive a second write command sent by the memory controller;
    所述介质控制器还用于接收所述内存控制器发送的P个数据块,所述P个数据块中的一个数据块为第二DM信息块,所述第二DM信息块用于指示所述内存芯片根据所述第二写命令待写入的Q个数据块中的K个掩码数据块的位置,所述P个数据块包括所述Q个数据块中的非掩码数据块,其中,所述Q个数据块中的非掩码数据块的个数为M,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q;The media controller is further configured to receive P data blocks sent by the memory controller, where one of the P data blocks is a second DM information block, and the second DM information block is used to indicate Determining, by the memory chip, a location of K mask data blocks in the Q data blocks to be written according to the second write command, the P data blocks including non-masked data blocks in the Q data blocks, The number of non-masked data blocks in the Q data blocks is M, Q=N, P=Q/2, K is greater than or equal to Q/2+1, and M is greater than 0 and less than or equal to P- An integer of 1, M+K=Q;
    所述介质控制器还用于根据所述第二DM信息的指示,将所述待写入的Q个数据块中的非掩码数据块写入所述存储介质中。The medium controller is further configured to write the non-masked data block of the Q data blocks to be written into the storage medium according to the indication of the second DM information.
  21. 一种计算机系统,其特征在于,包括:A computer system, comprising:
    内存芯片, Memory chip,
    内存控制器,通过双倍速率DDR总线与所述内存芯片相连,a memory controller connected to the memory chip through a double rate DDR bus
    所述内存控制器通过所述DDR总线向所述内存芯片发送第一写命令,所述第一写命令中包含有第一指示信息,所述第一指示信息用于指示待写入的数据块中具有掩码数据块,所述待写入的数据块的个数为N,N为大于或等于2的整数;The memory controller sends a first write command to the memory chip by using the DDR bus, where the first write command includes first indication information, where the first indication information is used to indicate a data block to be written. Having a masked data block, the number of data blocks to be written is N, and N is an integer greater than or equal to 2;
    所述内存控制器根据所述第一写命令通过所述DDR总线向所述内存芯片发送N个数据块,其中,所述N个数据块中的一个数据块为第一DM信息块,所述第一DM信息块用于指示所述待写入的数据块中的掩码数据块的位置,所述N个数据块包括所述N个待写入的数据块中的非掩码数据块;The memory controller sends N data blocks to the memory chip through the DDR bus according to the first write command, where one of the N data blocks is a first DM information block, Decoding, by the first DM information block, a location of the masked data block in the data block to be written, where the N data blocks include non-masked data blocks in the N data blocks to be written;
    所述内存芯片根据所述第一DM信息块的指示,将所述待写入的数据块中的非掩码数据块写入所述内存芯片的存储介质中。The memory chip writes the non-masked data block in the data block to be written into the storage medium of the memory chip according to the indication of the first DM information block.
  22. 根据权利要求21所述的计算机系统,其特征在于,所述第一DM信息块为所述N个数据块中的第一个数据块。The computer system according to claim 21, wherein said first DM information block is a first one of said N data blocks.
  23. 根据权利要求22所述的计算机系统,其特征在于,所述待写入的数据块中的首个掩码数据块为第n个数据块,n为大于0且小于等于N的整数;The computer system according to claim 22, wherein the first masked data block in the data block to be written is the nth data block, and n is an integer greater than 0 and less than or equal to N;
    所述N个数据块中的第2至第n个数据块为所述待写入的数据块中的第1至第n-1个数据块,所述N个数据块中的第n+1至第N个数据块为所述待写入的数据块中的第n+1至第N个数据块。The second to nth data blocks of the N data blocks are the 1st to n-1th data blocks in the data block to be written, and the n+1th of the N data blocks The Nth data block is the n+1th to Nthth data block in the data block to be written.
  24. 根据权利要求22所述的计算机系统,其特征在于,所述待写入的数据块中具有Z个非掩码数据块,其中,所述Z为大于0且小于N的整数;The computer system according to claim 22, wherein the data block to be written has Z non-masked data blocks, wherein the Z is an integer greater than 0 and less than N;
    所述N个数据块中的第2至第Z+1个数据块为所述Z个非掩码数据块,所述N个数据块中的第Z+2至第N个数据块为预设数据块。The second to the Z+1th data blocks of the N data blocks are the Z non-masked data blocks, and the Z+2th to Nth data blocks of the N data blocks are preset data block.
  25. 根据权利要求21至24中任一项所述的计算机系统,其特征在于,A computer system according to any one of claims 21 to 24, wherein
    所述内存控制器还用于向所述内存芯片发送第二写命令;The memory controller is further configured to send a second write command to the memory chip;
    所述内存控制器还用于根据所述第二写命令向所述内存芯片发送P个数据块,,所述P个数据块中的一个数据块为第二DM信息块,所述第二DM信息块用于指示所述内存芯片根据所述第二写命令待写入的Q个数据块中的K个掩码数据块的位置,所述P个数据块包括所述Q个数据块中的非掩码数据块,其中,所述Q个数据块中的非掩码数据块的个数为M,Q=N,P=Q/2,K大于或等于Q/2+1,M为大于0且小于等于P-1的整数,M+K=Q;The memory controller is further configured to send P data blocks to the memory chip according to the second write command, where one of the P data blocks is a second DM information block, and the second DM The information block is used to indicate a location of the K mask data blocks in the Q data blocks to be written by the memory chip according to the second write command, where the P data blocks include the Q data blocks a non-masked data block, wherein the number of non-masked data blocks in the Q data blocks is M, Q=N, P=Q/2, K is greater than or equal to Q/2+1, and M is greater than 0 and an integer less than or equal to P-1, M+K=Q;
    所述内存芯片还用于根据所述第二DM信息块的指示,将所述待写入的Q个数据块中的非掩码数据块写入所述存储介质中。 The memory chip is further configured to write the non-masked data block of the Q data blocks to be written into the storage medium according to the indication of the second DM information block.
PCT/CN2017/091331 2017-06-30 2017-06-30 Data mask transmission method, memory controller, memory chip, and computer system WO2019000456A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201780091809.1A CN110720126B (en) 2017-06-30 2017-06-30 Method for transmitting data mask, memory controller, memory chip and computer system
PCT/CN2017/091331 WO2019000456A1 (en) 2017-06-30 2017-06-30 Data mask transmission method, memory controller, memory chip, and computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/091331 WO2019000456A1 (en) 2017-06-30 2017-06-30 Data mask transmission method, memory controller, memory chip, and computer system

Publications (1)

Publication Number Publication Date
WO2019000456A1 true WO2019000456A1 (en) 2019-01-03

Family

ID=64742791

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/091331 WO2019000456A1 (en) 2017-06-30 2017-06-30 Data mask transmission method, memory controller, memory chip, and computer system

Country Status (2)

Country Link
CN (1) CN110720126B (en)
WO (1) WO2019000456A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023115319A1 (en) * 2021-12-21 2023-06-29 华为技术有限公司 Data storage method, storage device, and equipment

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112115077B (en) * 2020-08-31 2022-04-19 瑞芯微电子股份有限公司 DRAM memory drive optimization method and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1653434A (en) * 2002-03-22 2005-08-10 英特尔公司 Obtaining data mask mapping information
CN101206635A (en) * 2006-12-22 2008-06-25 美国博通公司 System and method for performing masked store operations in a processor
CN101501659A (en) * 2006-08-14 2009-08-05 高通股份有限公司 Method and apparatus to enable the cooperative signaling of a shared bus interrupt in a multi-rank memory subsystem
CN102150215A (en) * 2008-09-09 2011-08-10 英特尔公司 Systems, methods, and apparatuses for in-band data mask bit transmission
US20120005437A1 (en) * 1997-10-10 2012-01-05 Barth Richard M Memory Controller for Controlling Write Signaling
US20170133082A1 (en) * 2015-11-05 2017-05-11 Dell Products, Lp System and Method of Transferring Data over Available Pins

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4614500B2 (en) * 2000-05-12 2011-01-19 富士通株式会社 Memory access control device
JP3863733B2 (en) * 2001-05-18 2006-12-27 富士通株式会社 Associative memory device
US6671212B2 (en) * 2002-02-08 2003-12-30 Ati Technologies Inc. Method and apparatus for data inversion in memory device
US7243193B2 (en) * 2004-05-27 2007-07-10 Silverbrook Research Pty Ltd Storage of program code in arbitrary locations in memory
US8595459B2 (en) * 2004-11-29 2013-11-26 Rambus Inc. Micro-threaded memory
US8892828B2 (en) * 2011-11-18 2014-11-18 Micron Technology, Inc. Apparatuses and methods for storing validity masks and operating apparatuses
CN103902469B (en) * 2012-12-25 2017-03-15 华为技术有限公司 A kind of method and system of data pre-fetching
US9886194B2 (en) * 2015-07-13 2018-02-06 Samsung Electronics Co., Ltd. NVDIMM adaptive access mode and smart partition mechanism

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120005437A1 (en) * 1997-10-10 2012-01-05 Barth Richard M Memory Controller for Controlling Write Signaling
CN1653434A (en) * 2002-03-22 2005-08-10 英特尔公司 Obtaining data mask mapping information
CN101501659A (en) * 2006-08-14 2009-08-05 高通股份有限公司 Method and apparatus to enable the cooperative signaling of a shared bus interrupt in a multi-rank memory subsystem
CN101206635A (en) * 2006-12-22 2008-06-25 美国博通公司 System and method for performing masked store operations in a processor
CN102150215A (en) * 2008-09-09 2011-08-10 英特尔公司 Systems, methods, and apparatuses for in-band data mask bit transmission
US20170133082A1 (en) * 2015-11-05 2017-05-11 Dell Products, Lp System and Method of Transferring Data over Available Pins

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023115319A1 (en) * 2021-12-21 2023-06-29 华为技术有限公司 Data storage method, storage device, and equipment

Also Published As

Publication number Publication date
CN110720126A (en) 2020-01-21
CN110720126B (en) 2021-08-13

Similar Documents

Publication Publication Date Title
US10824499B2 (en) Memory system architectures using a separate system control path or channel for processing error information
EP3704591B1 (en) Write credits management for non-volatile memory
JP7258523B2 (en) Memory device, memory system and method of operation
US10866736B2 (en) Memory controller and data processing circuit with improved system efficiency
CN105373345B (en) Memory device and module
US20150205731A1 (en) IMPLEMENTING ENHANCED SECURITY WITH STORING DATA IN DRAMs
KR20210118727A (en) Error correction for dynamic data in a memory that is row addressable and column addressable
KR20220045548A (en) Command Draining Using Host Memory Buffer
WO2010105520A1 (en) Method, apparatus and system for reading data
WO2019000456A1 (en) Data mask transmission method, memory controller, memory chip, and computer system
TWI512475B (en) Method for facilitating communication between a memory module and a central processor,and related machine-readable storage medium
US10853255B2 (en) Apparatus and method of optimizing memory transactions to persistent memory using an architectural data mover
CN108139993A (en) Memory device, Memory Controller Hub, data buffer storage device and computer system
JP7186262B2 (en) Content Aware Decoding Using Shared Data Statistics
US11610624B2 (en) Memory device skipping refresh operation and operation method thereof
CN112513824A (en) Memory interleaving method and device
US20110047320A1 (en) System and method for performing program operation on nonvolatile memory device
US20190042364A1 (en) Technologies for maintaining data integrity during data transmissions
US8006029B2 (en) DDR flash implementation with direct register access to legacy flash functions
US11853555B2 (en) NVMe dual port enterprise SSD optimization
US11755502B2 (en) Methods of controlling power consumption, boards, electronic devices and storage media
KR20190052490A (en) Semiconductor memory module, semiconductor memory system, and access method of accessing semiconductor memory module
TWI814655B (en) Memory device, flash memory controller and control method thereof
US10628322B2 (en) Memory system and operating method thereof
US20230120600A1 (en) Data Storage Devices, Systems, and Related Methods for Grouping Commands of Doorbell Transactions from Host Devices

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17915839

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17915839

Country of ref document: EP

Kind code of ref document: A1