[go: up one dir, main page]

CN101246442B - memory access control method - Google Patents

memory access control method Download PDF

Info

Publication number
CN101246442B
CN101246442B CN200710080125XA CN200710080125A CN101246442B CN 101246442 B CN101246442 B CN 101246442B CN 200710080125X A CN200710080125X A CN 200710080125XA CN 200710080125 A CN200710080125 A CN 200710080125A CN 101246442 B CN101246442 B CN 101246442B
Authority
CN
China
Prior art keywords
data
crc
error checking
read
memory
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN200710080125XA
Other languages
Chinese (zh)
Other versions
CN101246442A (en
Inventor
刘维理
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanya Technology Corp
Original Assignee
Nanya Technology Corp
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 Nanya Technology Corp filed Critical Nanya Technology Corp
Priority to CN200710080125XA priority Critical patent/CN101246442B/en
Publication of CN101246442A publication Critical patent/CN101246442A/en
Application granted granted Critical
Publication of CN101246442B publication Critical patent/CN101246442B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

利用循环冗余校验(cyclic redundancy check,CRC)来提高记忆体存取过程中的错误校验能力。在读取过程中,所读出的资料的一部分通过CRC汇流排而送出至记忆体外部;以及CRC结果与所读出的资料的其他部分则通过资料汇流排而送出至记忆体外部。

Figure 200710080125

Cyclic redundancy check (CRC) is used to improve the error checking capability during memory access. During the reading process, part of the read data is sent to the outside of the memory through the CRC bus; and the CRC result and the rest of the read data are sent to the outside of the memory through the data bus.

Figure 200710080125

Description

记忆体存取控制方法 memory access control method

技术领域technical field

本发明是有关于一种记忆体存取控制方法,且特别是有关于一种利用循环冗余校验(cyclic redundancy check,CRC)来提高错误校验能力的记忆体存取控制方法。 The present invention relates to a memory access control method, and in particular to a memory access control method that utilizes a cyclic redundancy check (CRC) to improve error checking capabilities. the

背景技术Background technique

在通讯系统或电脑系统中,可利用循环冗余校验(cyclic redundancycheck,CRC)来提高错误校验能力。在资料传输或资料储存后,CRC可用于校验在资料传输过程中是否发生错误。在资料传输过程中,收/发双方都需要进行CRC运算,然后由某一方比对双方所算出的CRC结果,即可得知所接收到的资料是否有错误。 In a communication system or a computer system, a cyclic redundancy check (CRC) can be used to improve the error checking capability. After data transmission or data storage, CRC can be used to check whether errors occurred during data transmission. In the process of data transmission, both the receiving and sending parties need to perform CRC calculations, and then one party can compare the CRC results calculated by both parties to know whether the received data has any errors. the

请参考图1,其显示将CRC-16应用于电脑系统的记忆体存取控制的现有习知技术。在此,以系统时脉为800MHz,资料汇流排DQ<7:0>为8位,而CRC汇流排CRC<1:0>为2位为例说明。应用CRC-16时,所得到的CRC结果为16位。 Please refer to FIG. 1 , which shows the prior art of applying CRC-16 to memory access control of a computer system. Here, the system clock is 800 MHz, the data bus DQ<7:0> is 8 bits, and the CRC bus CRC<1:0> is 2 bits for example. When CRC-16 is applied, the resulting CRC result is 16 bits. the

如图1所示,主控电路(如CPU)发出读取指令R-A与R-B给记忆体。回应于此读取指令R-A与R-B,经过数个周期后,记忆体取出内部资料D-A与D-B,在此“内部资料”代表资料尚未放至资料汇流排DQ<7:0>。资料D-A包含8个位组A0~A7,资料D-B包含8个位组B0~B7。记忆体控制器会根据内部资料D-A与D-B做CRC运算CRC-AB。 As shown in FIG. 1 , a main control circuit (such as a CPU) issues read commands R-A and R-B to the memory. In response to the read commands R-A and R-B, after several cycles, the memory fetches the internal data D-A and D-B, where "internal data" means that the data has not yet been placed in the data bus DQ<7:0>. The data D-A includes 8 bits A0-A7, and the data D-B includes 8 bits B0-B7. The memory controller will perform CRC operation CRC-AB according to the internal data D-A and D-B. the

当记忆体要输出资料D-A与D-B时,某些位组(比如A3与B3)会放置于CRC汇流排CRC<1:0>上,而其他的位组则放置于资料汇流排DQ<7:0>上。请注意,在图1中,A0与A1间的空白格代表此时资料汇流排DQ<7:0>上没有资料在传输。 When the memory is outputting data D-A and D-B, some groups of bits (such as A3 and B3) will be placed on the CRC bus CRC<1:0>, while other groups of bits will be placed on the data bus DQ<7: 0> on. Please note that in Figure 1, the blank box between A0 and A1 means that no data is being transmitted on the data bus DQ<7:0> at this time. the

当开始将资料通过资料汇流排DQ<7:0>送出时,即可开始进行CRC运算CRC-AB。如图1所示,等到CRC运算CRC-AB完成后,即可通过CRC汇流排CRC<1:0>传送CRC运算结果CRC-AB。 When the data is sent out through the data bus DQ<7:0>, the CRC operation CRC-AB can be started. As shown in Figure 1, after the CRC operation CRC-AB is completed, the CRC operation result CRC-AB can be transmitted through the CRC bus CRC<1:0>. the

如此,可完成从记忆体读出资料D-A与D-B,并将CRC结果输出给主控电路。 In this way, the data D-A and D-B can be read out from the memory, and the CRC result is output to the main control circuit. the

然而,此种现有习知技术的缺点在于:(1)硬体架构复杂,电路面积高且消耗功率高;(2)两个读取指令间的延迟(tCCD latency)很紧凑(tight),比如为1.25ns,导致设计不易;(3)从发出读取指令到资料从记忆体输出间的时间延迟过长;(4)在计算CRC过程中,需暂存资料A与资料B,更增加设计困难度;(5)CRC的运算需在很短时间(以图1为例,1.25ns)内完成,不易实现。However, the disadvantages of this prior art technology are: (1) the hardware structure is complicated, the circuit area is high and the power consumption is high; (2) the delay (tCCD latency) between two read commands is very compact (tight), For example, it is 1.25ns, which makes the design difficult; (3) The time delay between sending the read command and outputting the data from the memory is too long; (4) In the process of calculating the CRC, data A and data B need to be temporarily stored, which increases the Design difficulty; (5) The operation of CRC needs to be completed in a very short time (taking Figure 1 as an example, 1.25ns), which is not easy to realize.

较好能有一种记忆体存取控制方法,其可改善上述现有习知技术的缺点。 It is desirable to have a memory access control method that can improve the above-mentioned shortcomings of the prior art. the

发明内容Contents of the invention

本发明提供一种记忆体存取控制方法,在记忆体读取过程中,循环冗余校验(cyclic redundancy check,CRC)运算结果是通过资料汇流排送出,而一部份的读出资料则通过循环冗余校验(CRC)汇流排送出。在记忆体写入过程中,资料通过资料汇流排上接收而其对应的CRC结果则由CRC汇流排上送出。 The present invention provides a memory access control method. In the process of memory reading, the calculation result of cyclic redundancy check (CRC) is sent through the data bus, and a part of the read data is Sent over the Cyclic Redundancy Check (CRC) bus. During the memory writing process, data is received on the data bus and its corresponding CRC result is sent on the CRC bus. the

本发明提供一种记忆体存取控制方法,在进行CRC运算时,不需要同时保留住两笔或多笔资料,只要暂时保留正在进行CRC运算的该笔资料即可。 The invention provides a memory access control method. When performing CRC calculation, it is not necessary to keep two or more pieces of data at the same time, but only need to temporarily keep the data in CRC calculation. the

本发明提供一种记忆体存取控制方法,包括:发出第一读取指令至一记忆体;回应于第一读取指令,从记忆体撷取出第一读取资料;执行第一读取资料的CRC运算,以得到第一CRC结果;通过资料汇流排传输此第一读取资料的某一部份与通过CRC汇流排传输此第一读取资料的剩余部份;以及通过资料汇流排传输第一CRC结果。 The present invention provides a memory access control method, comprising: sending a first read command to a memory; responding to the first read command, retrieving the first read data from the memory; executing the first read data CRC operation to obtain the first CRC result; transmit a certain part of the first read data through the data bus and transmit the remaining part of the first read data through the CRC bus; and transmit through the data bus First CRC result. the

此外,本发明也提供一种记忆体存取控制方法,包括:发出第一读取指令与第二读取指令至记忆体;回应于第一读取指令,从记忆体撷取出第一读取资料;执行第一读取资料的循环冗余校验(CRC)运算,以得到一第一循环冗余校验(CRC)结果;回应于第二读取指令,从记忆体撷取出第二读取资料;执行第二读取资料的循环冗余校验(CRC)运算,以得到第二循环冗余校验(CRC)结果;通过资料汇流排传输第一读取资料的一部份并通过一循环冗余校验(CRC)汇流排传输第一读取资料的其他部份;通过资料汇流排传输第一循环冗余校验(CRC)结果;通过资料汇流排传输第二读取资料的一部份并通过循环冗余校验(CRC)汇流排传输第二读取资料的其他部份;以及通过资料汇流排传输第二循环冗余校验(CRC)结果。 In addition, the present invention also provides a memory access control method, including: issuing a first read command and a second read command to the memory; responding to the first read command, retrieving the first read command from the memory Data; execute the cyclic redundancy check (CRC) operation of the first read data to obtain a first cyclic redundancy check (CRC) result; respond to the second read command, fetch the second read from the memory Fetch data; execute the cyclic redundancy check (CRC) operation of the second read data to obtain the second cyclic redundancy check (CRC) result; transmit a part of the first read data through the data bus and pass A cyclic redundancy check (CRC) bus to transmit other parts of the first read data; transmit the first cyclic redundancy check (CRC) result via the data bus; transmit the second read data via the data bus a part and other parts of the second read data are transmitted through a CRC bus; and a second CRC result is transmitted through the data bus. the

此外,本发明更提供一种记忆体存取控制方法,包括:发出第一写入指令与第一读取指令至记忆体;通过资料汇流排传送有关于第一写入指令的第一写入资料至该记忆体;执行第一写入资料的CRC运算,以得到第一CRC结果;通过CRC汇流排传输第一CRC结果;回应于第一读取指令,从记忆体撷取出第一读取资料;执行第一读取资料的CRC运算,以得到第二CRC结果;通过资料汇流排传输第一读取资料的某一部份与通过CRC汇流排传输第一读取资料的剩余部份;以及通过资料汇流排传输第二CRC结果。 In addition, the present invention further provides a memory access control method, including: sending a first write command and a first read command to the memory; transmitting the first write related to the first write command through the data bus data to the memory; perform a CRC operation on the first written data to obtain a first CRC result; transmit the first CRC result through the CRC bus; respond to a first read command, and retrieve the first read from the memory data; perform a CRC operation on the first read data to obtain a second CRC result; transmit a certain part of the first read data through the data bus and transmit the remaining part of the first read data through the CRC bus; and transmitting the second CRC result through the data bus. the

为让本发明的上述特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。 In order to make the above-mentioned features and advantages of the present invention more comprehensible, preferred embodiments will be described in detail below together with the accompanying drawings. the

附图说明Description of drawings

图1显示根据现有习知技术的记忆体读取控制的时序示意图。 FIG. 1 shows a timing diagram of memory access control according to the prior art. the

图2显示根据本发明一实施例的记忆体读取控制的时序示意图。 FIG. 2 shows a timing diagram of memory read control according to an embodiment of the invention. the

图3显示根据本发明第二实施例的记忆体的先读后写控制的时序示意图。 FIG. 3 shows a timing diagram of the read-before-write control of the memory according to the second embodiment of the present invention. the

图4显示根据本发明第三实施例的记忆体的先写后读控制的时序示意图。 FIG. 4 is a schematic diagram showing the timing sequence of the write-before-read control of the memory according to the third embodiment of the present invention. the

R-A、R-B、R-C:读取指令 R-A, R-B, R-C: Read command

D-A、A0~A7、D-B、B0~B7、D-C、C0~C7:资料 D-A, A0~A7, D-B, B0~B7, D-C, C0~C7: Information

CRC-AB、CRC-A、CRC-B、CRC-C:CRC运算 CRC-AB, CRC-A, CRC-B, CRC-C: CRC operation

W-A、W-B、W-C:写入指令 W-A, W-B, W-C: write command

具体实施方式Detailed ways

在本发明中,在记忆体读取过程中,CRC结果是在资料汇流排上送出而有部份的读出资料则在CRC汇流排上送出。在记忆体写入过程中,资料在资料汇流排上接收而CRC结果则由CRC汇流排上送出。此外,在进行CRC运算时,不需要如现有习知技术般同时保留住两笔或多笔资料,只要暂时保留正在进行CRC运算的该笔资料即可。 In the present invention, during the memory reading process, the CRC result is sent on the data bus and part of the read data is sent on the CRC bus. During memory writing, data is received on the data bus and CRC results are sent on the CRC bus. In addition, when performing CRC calculation, it is not necessary to keep two or more pieces of data at the same time as in the prior art, but only need to temporarily keep the piece of data that is being CRC calculated. the

第一实施例:先读后读(read to read) The first embodiment: read first and then read (read to read)

请参考图2,其显示根据本发明第一实施例的记忆体读取控制的时序示意图。在此,以系统时脉为800MHz,资料汇流排DQ<7:0>为8位,而CRC汇流排CRC<1:0>为2位为例说明,CRC运算则以CRC-16为例说明(所得到的CRC结果为16位)。当然,本实施例并不受限于此。比如,本实施例亦可应用其他的CRC技术,如CRC-32等,以更加提高错误校验能力。 Please refer to FIG. 2 , which shows a timing diagram of memory read control according to the first embodiment of the present invention. Here, the system clock is 800MHz, the data bus DQ<7:0> is 8 bits, and the CRC bus CRC<1:0> is 2 bits as an example, and the CRC operation is explained using CRC-16 as an example. (The resulting CRC result is 16 bits). Of course, this embodiment is not limited thereto. For example, this embodiment may also apply other CRC technologies, such as CRC-32, to further improve the error checking capability. the

如图2所示,主控电路(如CPU)发出读取指令R-A与R-B给记忆体。回应于此读取指令R-A与R-B,经过数个周期后,记忆体先后取出内部资料D-A与D-B,在此“内部资料”代表资料尚未放至资料汇流排DQ<7:0>。资料D-A包含8个位组A0~A7,资料D-B包含8个位组B0~B7。 As shown in FIG. 2 , the main control circuit (such as CPU) sends read commands R-A and R-B to the memory. In response to the read commands R-A and R-B, after several cycles, the memory fetches the internal data D-A and D-B successively. Here, "internal data" means that the data has not yet been placed in the data bus DQ<7:0>. The data D-A includes 8 bits A0-A7, and the data D-B includes 8 bits B0-B7. the

当取出资料D-A后,即可尽快针对资料D-A进行CRC运算,如图2所示的CRC-A。同样地,当取出资料D-B后,即可尽快针对资料D-B进行CRC运算,如图2所示的CRC-B。 After the data D-A is taken out, the CRC operation can be performed on the data D-A as soon as possible, as shown in FIG. 2 for CRC-A. Similarly, after the data D-B is taken out, the CRC operation can be performed on the data D-B as soon as possible, such as CRC-B shown in FIG. 2 . the

当要输出资料D-A时,某些位组(比如A2与A3)会放置于CRC汇流排CRC<1:0>上,而其他的位组(比如,A0~A1与A4~A7)则放置于资料汇流 排DQ<7:0>上。请注意,在此实施例中,资料D-A的CRC运算结果CRC-A乃是放置于资料汇流排DQ<7:0>上,而不是放置于CRC汇流排CRC<1:0>上。 When data D-A is to be output, certain bits (such as A2 and A3) will be placed on the CRC bus CRC<1:0>, while other bits (such as A0~A1 and A4~A7) will be placed on Data bus on DQ<7:0>. Please note that in this embodiment, the CRC operation result CRC-A of the data D-A is placed on the data bus DQ<7:0> instead of the CRC bus CRC<1:0>. the

同样地,当要输出资料D-B时,某些位组(比如B2与B3)会放置于CRC汇流排CRC<1:0>上,而其他的位组(比如,B0~B1与B4~B7)则放置于资料汇流排DQ<7:0>上。同样地,资料D-B的CRC运算结果CRC-B乃放置于资料汇流排DQ<7:0>上,而不是放置于CRC汇流排CRC<1:0>上。 Similarly, when the data D-B is to be output, some groups of bits (such as B2 and B3) will be placed on the CRC bus CRC<1:0>, while other groups of bits (such as B0~B1 and B4~B7) Place it on the data bus DQ<7:0>. Likewise, the CRC operation result CRC-B of data D-B is placed on data bus DQ<7:0> instead of CRC bus CRC<1:0>. the

如此,可完成从记忆体读出资料D-A与D-B,并将CRC结果输出给主控电路。 In this way, the data D-A and D-B can be read out from the memory, and the CRC result is output to the main control circuit. the

虽然第一实施例中的指令顺序为读-读,不过本领域技术人员可从上述描述得知该如何将第一实施例变化以应用至读-读-读等其他类似的指令顺序。 Although the command sequence in the first embodiment is read-read, those skilled in the art can know from the above description how to change the first embodiment to apply to other similar command sequences such as read-read-read. the

第二实施例:先读后写(read to write) Second embodiment: first read and then write (read to write)

请参考图3,其显示根据本发明第二实施例的记忆体先读后写控制的时序示意图。在此,以系统时脉为800MHz,资料汇流排DQ<7:0>为8位,而CRC汇流排CRC<1:0>为2位为例说明,CRC运算则以CRC-16为例说明(所得到的CRC结果为16位)。当然,本实施例并不受限于此。比如,本实施例亦可应用其他的CRC技术,如CRC-32等,以更加提高错误校验能力。 Please refer to FIG. 3 , which shows a timing diagram of memory read-before-write control according to a second embodiment of the present invention. Here, the system clock is 800MHz, the data bus DQ<7:0> is 8 bits, and the CRC bus CRC<1:0> is 2 bits as an example, and the CRC operation is explained using CRC-16 as an example. (The resulting CRC result is 16 bits). Of course, this embodiment is not limited thereto. For example, this embodiment may also apply other CRC technologies, such as CRC-32, to further improve the error checking capability. the

如图3所示,主控电路(如CPU)发出读取指令R-A,以及写入指令W-B与W-C给记忆体。回应于此读取指令R-A,经过数个周期后,记忆体会取出内部资料D-A。资料D-A包含8个位组A0~A7。 As shown in FIG. 3 , a main control circuit (such as a CPU) issues a read command R-A, and write commands W-B and W-C to the memory. In response to the read command R-A, after several cycles, the memory will fetch the internal data D-A. The data D-A includes 8 bits A0-A7. the

当取出资料D-A后,即可尽快针对资料D-A进行CRC运算,如图3所示的CRC-A。 After the data D-A is taken out, the CRC operation can be performed on the data D-A as soon as possible, as shown in CRC-A in FIG. 3 . the

当要输出资料D-A时,某些位组(比如A2与A3)会放置于CRC汇流排CRC<1:0>上,而其他的位组(比如,A0~A1与A4~A7)则放置于资料汇流排DQ<7:0>上。请注意,在此实施例中,资料D-A的CRC运算结果CRC-A乃是放置于资料汇流排DQ<7:0>上,而不是放置于CRC汇流排CRC<1:0>上。 When data D-A is to be output, certain bits (such as A2 and A3) will be placed on the CRC bus CRC<1:0>, while other bits (such as A0~A1 and A4~A7) will be placed on Data bus on DQ<7:0>. Please note that in this embodiment, the CRC operation result CRC-A of the data D-A is placed on the data bus DQ<7:0> instead of the CRC bus CRC<1:0>. the

在主控电路发出写入指令W-B后,在几个周期后,主控电路将资料B0~B7通过资料汇流排DQ<7:0>而传送至记忆体。等到资料B0~B7接收完后,即可执行写入指令W-B,将资料D-B(其包括8个位组B0~B7)写入至记忆体。 After the main control circuit sends the write command W-B, after several cycles, the main control circuit transmits the data B0-B7 to the memory through the data bus DQ<7:0>. After the data B0-B7 are received, the write command W-B can be executed to write the data D-B (including 8 byte groups B0-B7) into the memory. the

在本实施例中,未必要等到资料B0~B7全都接收到才能开始进行CRC运算。甚至,可在接收到资料B0~B7的一部份后,即可开始进行CRC运算,如图3所示的CRC-B。等到CRC运算CRC-B完成后,即可通过CRC汇流排 CRC<1:0>将CRC运算CRC-B回传给主控电路,以进行错误校验。 In this embodiment, it is not necessary to wait until all the data B0-B7 are received before starting the CRC calculation. Even, after receiving part of the data B0-B7, the CRC calculation can be started, such as CRC-B shown in FIG. 3 . After the CRC operation CRC-B is completed, the CRC operation CRC-B can be sent back to the main control circuit through the CRC bus CRC<1:0> for error checking. the

同样地,在主控电路发出写入指令W-C后,在几个周期后,主控电路将资料C0~C7通过资料汇流排DQ<7:0>而传送至记忆体。等到资料C0~C7全部接收完后,即可执行写入指令W-C,将资料D-C(其包括8个位组C0~C7)写入至记忆体。 Similarly, after the main control circuit sends the write command W-C, after several cycles, the main control circuit transmits the data C0-C7 to the memory through the data bus DQ<7:0>. After all the data C0-C7 are received, the write command W-C can be executed to write the data D-C (including 8 byte groups C0-C7) into the memory. the

在本实施例中,未必要等到资料C0~C7全都接收到才能开始进行CRC运算。甚至,可在接收到资料C0~C7的一部份后,即可开始进行CRC运算,如图3所示的CRC-C。等到CRC运算CRC-C完成后,即可通过CRC汇流排CRC<1:0>将CRC运算CRC-C回传给主控电路,以进行错误校验。 In this embodiment, it is not necessary to wait until all the data C0-C7 are received before starting the CRC calculation. Even, after receiving part of the data C0-C7, the CRC operation can be started, such as CRC-C shown in FIG. 3 . After the CRC operation CRC-C is completed, the CRC operation CRC-C can be sent back to the main control circuit through the CRC bus CRC<1:0> for error checking. the

如此,可完成从记忆体读出资料D-A并将资料D-B与D-C写入至记忆体,以及将CRC结果(CRC-A,CRC-B与CRC-C)回传给主控电路。 In this way, the data D-A is read from the memory, the data D-B and D-C are written into the memory, and the CRC results (CRC-A, CRC-B and CRC-C) are sent back to the main control circuit. the

虽然第二实施例显示的指令顺序为读-写-写,不过本领域技术人员可从上述描述得知如何将第二实施例变化以应用于读-写-读或其他类似的指令顺序。 Although the command sequence shown in the second embodiment is read-write-write, those skilled in the art can know how to change the second embodiment to apply read-write-read or other similar command sequences from the above description. the

第三实施例:先写后读(write to read) The third embodiment: write first and then read (write to read)

请参考图4,其显示根据本发明第三实施例的记忆体的先写后读控制的时序示意图。在此,以系统时脉为800MHz,资料汇流排DQ<7:0>为8位,而CRC汇流排CRC<1:0>为2位为例说明,CRC运算则以CRC-16为例说明(所得到的CRC结果为16位)。当然,本实施例并不受限于此。比如,本实施例亦可应用其他的CRC技术,如CRC-32等,以更加提高错误校验能力。 Please refer to FIG. 4 , which shows a timing diagram of the write-before-read control of the memory according to the third embodiment of the present invention. Here, the system clock is 800MHz, the data bus DQ<7:0> is 8 bits, and the CRC bus CRC<1:0> is 2 bits as an example, and the CRC operation is explained using CRC-16 as an example. (The resulting CRC result is 16 bits). Of course, this embodiment is not limited thereto. For example, this embodiment may also apply other CRC technologies, such as CRC-32, to further improve the error checking capability. the

如图4所示,主控电路(如CPU)发出写入指令W-A与W-B,以及读取指令R-C给记忆体。 As shown in FIG. 4 , the main control circuit (such as CPU) sends write commands W-A and W-B, and read commands R-C to the memory. the

在主控电路发出写入指令W-A后,在几个周期后,主控电路将资料A0~A7通过资料汇流排DQ<7:0>而传送至记忆体。等到资料A0~A7接收完后,即可执行写入指令W-A,将资料D-A(其包括8个位组A0~A7)写入至记忆体。 After the main control circuit sends the write command W-A, after several cycles, the main control circuit transmits the data A0-A7 to the memory through the data bus DQ<7:0>. After the data A0-A7 are received, the write command W-A can be executed to write the data D-A (including 8 byte groups A0-A7) into the memory. the

在本实施例中,未必要等到资料A0~A7全都接收到才能开始进行CRC运算。甚至,可在接收到资料A0~A7的一部份后,即可开始进行CRC运算,如图4所示的CRC-A。等到CRC运算CRC-A完成后,即可通过CRC汇流排CRC<1:0>将CRC运算CRC-A回传给主控电路,以进行错误校验。 In this embodiment, it is not necessary to wait until all the data A0-A7 are received before starting the CRC calculation. Even, after receiving part of the data A0-A7, the CRC calculation can be started, such as CRC-A shown in FIG. 4 . After the CRC operation CRC-A is completed, the CRC operation CRC-A can be sent back to the main control circuit through the CRC bus CRC<1:0> for error checking. the

同样地,在主控电路发出写入指令W-B后,在几个周期后,主控电路将资料B0~B7通过资料汇流排DQ<7:0>而传送至记忆体。等到资料B0~B7全部接收完后,即可执行写入指令W-B,将资料D-B(其包括8个位组B0~B7)写入至记忆体。 Similarly, after the main control circuit sends the write command W-B, after a few cycles, the main control circuit transmits the data B0-B7 to the memory through the data bus DQ<7:0>. After all the data B0-B7 are received, the write command W-B can be executed to write the data D-B (including 8 byte groups B0-B7) into the memory. the

同样地,在本实施例中,未必要等到资料B0~B7全都接收到才能开始 进行CRC运算。甚至,可在接收到资料B0~B7的一部份后,即可开始进行CRC运算,如图4所示的CRC-B。等到CRC运算CRC-B完成后,即可通过CRC汇流排CRC<1:0>将CRC运算CRC-B回传给主控电路,以进行错误校验。 Similarly, in this embodiment, it is not necessary to wait until all the data B0-B7 are received before starting the CRC calculation. Even, after receiving part of the data B0-B7, the CRC operation can be started, such as CRC-B shown in FIG. 4 . After the CRC operation CRC-B is completed, the CRC operation CRC-B can be sent back to the main control circuit through the CRC bus CRC<1:0> for error checking. the

回应于此读取指令R-C,经过数个周期后,记忆体会取出内部资料D-C。资料D-C包含8个位组C0~C7。 In response to the read command R-C, after several cycles, the memory will fetch the internal data D-C. Data D-C includes 8 bits C0-C7. the

当得到内部资料D-C后,即可尽快针对资料D-C进行CRC运算,如图4所示的CRC-C。 After obtaining the internal data D-C, the CRC operation can be performed on the data D-C as soon as possible, as shown in FIG. 4 CRC-C. the

当要输出资料D-C时,某些位组(比如C2与C3)会放置于CRC汇流排CRC<1:0>上,而其他的位组(比如,C0~C1与C4~C7)则放置于资料汇流排DQ<7:0>上。请注意,在此实施例中,资料D-C的CRC运算结果CRC-C乃是放置于资料汇流排DQ<7:0>上,而不是放置于CRC汇流排CRC<1:0>上。 When outputting data D-C, certain bits (such as C2 and C3) will be placed on the CRC bus CRC<1:0>, while other bits (such as C0~C1 and C4~C7) will be placed on Data bus on DQ<7:0>. Please note that in this embodiment, the CRC operation result CRC-C of the data D-C is placed on the data bus DQ<7:0> instead of the CRC bus CRC<1:0>. the

如此,可完成将资料D-A与D-B写入至记忆体及从记忆体读出资料D-C,以及将CRC结果(CRC-A,CRC-B与CRC-C)回传给主控电路。 In this way, the data D-A and D-B can be written into the memory and the data D-C can be read from the memory, and the CRC results (CRC-A, CRC-B and CRC-C) can be sent back to the main control circuit. the

虽然第三实施例显示的指令顺序为写-写-读,不过本领域技术人员可从上述描述得知如何将第三实施例变化以应用于写-读-写或其他类似的指令顺序。 Although the command sequence shown in the third embodiment is write-write-read, those skilled in the art can understand from the above description how to change the third embodiment to apply to write-read-write or other similar command sequences. the

综上所述,本发明数个实施例的优点在于:(1)硬体架构较不复杂,电路面积减小且消耗功率降低;(2)两个指令间的延迟(tCCD latency)较为缓和(relaxed),比如为2.5ns,设计较容易;(3)在计算CRC过程中,不需同时暂存数笔资料,设计困难度降低;(4)CRC的可允许运算时间较长(以图2为例,1.875ns),较易实现;(5)仍有很高的错误校验率。 In summary, the advantages of several embodiments of the present invention are: (1) the hardware structure is less complex, the circuit area is reduced and the power consumption is reduced; (2) the delay (tCCD latency) between two instructions is relatively moderate ( relaxed), such as 2.5ns, the design is easier; (3) in the process of calculating the CRC, there is no need to temporarily store several data at the same time, and the design difficulty is reduced; (4) the allowable calculation time of the CRC is longer (as shown in Figure 2 For example, 1.875ns), easier to realize; (5) There is still a high error checking rate. the

本发明实施例可应用于高速/大资料量的记忆体(比如,DDR4)中,以同时符合高速与大资料传输量的要求。 The embodiments of the present invention can be applied to high-speed/large-data-capacity memory (for example, DDR4), so as to meet the requirements of high-speed and large-data transmission. the

虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视所附的权利要求所界定者为准。 Although the present invention has been disclosed above with preferred embodiments, it is not intended to limit the present invention. Anyone with ordinary knowledge in the technical field may make some modifications and changes without departing from the spirit and scope of the present invention. Modification, therefore, the scope of protection of the present invention should be defined by the appended claims. the

Claims (13)

1.一种记忆体存取控制方法,其特征在于其包括以下步骤:1. A memory access control method, characterized in that it comprises the following steps: 发出一第一读取指令至一记忆体;issuing a first read command to a memory; 回应于该第一读取指令,从该记忆体撷取出一第一读取资料;Responding to the first read command, retrieving a first read data from the memory; 执行该第一读取资料的错误校验运算,以得到一第一错误校验结果;performing an error checking operation on the first read data to obtain a first error checking result; 通过一资料汇流排传输该第一读取资料的一部份与通过一错误校验汇流排传输该第一读取资料的其他部份;以及transmitting a portion of the first read data via a data bus and transmitting another portion of the first read data via an error checking bus; and 通过该资料汇流排传输该第一错误校验结果。The first error checking result is transmitted through the data bus. 2.根据权利要求1所述的方法,其特征在于更包括:2. The method according to claim 1, further comprising: 在发出该第一读取指令后,发出一第二读取指令至该记忆体;after issuing the first read command, issue a second read command to the memory; 回应于该第二读取指令,从该记忆体撷取出一第二读取资料;Responding to the second read command, retrieving a second read data from the memory; 执行该第二读取资料的错误校验运算,以得到一第二错误校验结果;performing an error checking operation on the second read data to obtain a second error checking result; 通过该资料汇流排传输该第二读取资料的一部份与通过该错误校验汇流排传输该第二读取资料的其他部份;以及transmitting a portion of the second read data over the data bus and another portion of the second read data over the error checking bus; and 通过该资料汇流排传输该第二错误校验结果。The second error checking result is transmitted through the data bus. 3.根据权利要求1所述的方法,其特征在于更包括:3. The method of claim 1, further comprising: 在发出该第一读取指令后,发出一第一写入指令至该记忆体;after issuing the first read command, issuing a first write command to the memory; 通过该资料汇流排传送有关于该第一写入指令的一第一写入资料至该记忆体;transmitting a first write data related to the first write command to the memory through the data bus; 执行该第一写入资料的错误校验运算,以得到一第二错误校验结果;以及performing an error checking operation on the first written data to obtain a second error checking result; and 通过该错误校验汇流排传输该第二错误校验结果。The second error checking result is transmitted through the error checking bus. 4.根据权利要求3所述的方法,其特征在于更包括:4. The method of claim 3, further comprising: 在发出该第一写入指令后,发出一第二写入指令至该记忆体;after issuing the first write command, issue a second write command to the memory; 通过该资料汇流排传送有关于该第二写入指令的一第二写入资料至该记忆体;transmitting a second write data related to the second write command to the memory through the data bus; 执行该第二写入资料的错误校验运算,以得到一第三错误校验结果;以及performing an error checking operation on the second written data to obtain a third error checking result; and 通过该错误校验汇流排传输该第三错误校验结果。The third error checking result is transmitted through the error checking bus. 5.根据权利要求1所述的方法,其特征在于其中该错误校验运算为一循环冗余校验。5. The method of claim 1, wherein the error checking operation is a cyclic redundancy check. 6.根据权利要求2所述的方法,其特征在于其中该错误校验运算为一循环冗余校验。6. The method of claim 2, wherein the error checking operation is a cyclic redundancy check. 7.根据权利要求3所述的方法,其特征在于其中该错误校验运算为一循环冗余校验。 7. The method of claim 3, wherein the error checking operation is a cyclic redundancy check. the 8.根据权利要求4所述的方法,其特征在于其中该错误校验运算为一循环冗余校验。8. The method of claim 4, wherein the error checking operation is a cyclic redundancy check. 9.一种记忆体存取控制方法,其特征在于其包括以下步骤:9. A memory access control method, characterized in that it comprises the following steps: 发出一第一读取指令与一第二读取指令至一记忆体;issuing a first read command and a second read command to a memory; 回应于该第一读取指令,从该记忆体撷取出一第一读取资料;Responding to the first read command, retrieving a first read data from the memory; 执行该第一读取资料的循环冗余校验,以得到一第一循环冗余校验结果;performing a cyclic redundancy check on the first read data to obtain a first cyclic redundancy check result; 回应于该第二读取指令,从该记忆体撷取出一第二读取资料;Responding to the second read command, retrieving a second read data from the memory; 执行该第二读取资料的循环冗余校验,以得到一第二循环冗余校验结果;performing a cyclic redundancy check on the second read data to obtain a second cyclic redundancy check result; 通过一资料汇流排传输该第一读取资料的一部份与通过一循环冗余校验汇流排传输该第一读取资料的其他部份;transmitting a portion of the first read data via a data bus and transmitting the other portion of the first read data via a cyclic redundancy check bus; 通过该资料汇流排传输该第一循环冗余校验结果;transmitting the first cyclic redundancy check result through the data bus; 通过该资料汇流排传输该第二读取资料的一部份与通过该循环冗余校验汇流排传输该第二读取资料的其他部份;以及transmitting a portion of the second read data over the data bus and another portion of the second read data over the cyclic redundancy check bus; and 通过该资料汇流排传输该第二循环冗余校验结果。The second CRC result is transmitted through the data bus. 10.一种记忆体存取控制方法,其特征在于其包括以下步骤:10. A memory access control method, characterized in that it comprises the following steps: 发出一第一写入指令与一第一读取指令至一记忆体;issuing a first write command and a first read command to a memory; 通过一资料汇流排传送有关于该第一写入指令的一第一写入资料至该记忆体;transmitting a first write data related to the first write command to the memory through a data bus; 执行该第一写入资料的错误校验运算,以得到一第一错误校验结果;performing an error checking operation on the first written data to obtain a first error checking result; 通过一错误校验汇流排传输该第一错误校验结果;transmitting the first error checking result through an error checking bus; 回应于该第一读取指令,从该记忆体撷取出一第一读取资料;Responding to the first read command, retrieving a first read data from the memory; 执行该第一读取资料的错误校验运算,以得到一第二错误校验结果;performing an error checking operation on the first read data to obtain a second error checking result; 通过该资料汇流排传输该第一读取资料的一部份与通过该错误校验汇流排传输该第一读取资料的其他部份;以及transmitting a portion of the first read data over the data bus and another portion of the first read data over the error checking bus; and 通过该资料汇流排传输该第二错误校验结果。The second error checking result is transmitted through the data bus. 11.根据权利要求10所述的方法,其特征在于更包括:11. The method of claim 10, further comprising: 发出一第二写入指令至该记忆体;issuing a second write command to the memory; 通过该资料汇流排传送有关于该第二写入指令的一第二写入资料至该记忆体;transmitting a second write data related to the second write command to the memory through the data bus; 执行该第二写入资料的错误校验运算,以得到一第三错误校验结果;以及performing an error checking operation on the second written data to obtain a third error checking result; and 通过该错误校验汇流排传输该第三错误校验结果。The third error checking result is transmitted through the error checking bus. 12.根据权利要求10所述的方法,其特征在于其中该错误校验运算为一循环冗余校验。 12. The method of claim 10, wherein the error checking operation is a cyclic redundancy check. the 13.根据权利要求11所述的方法,其特征在于其中该错误校验运算为一循环冗余校验。 13. The method of claim 11, wherein the error checking operation is a cyclic redundancy check. the
CN200710080125XA 2007-02-12 2007-02-12 memory access control method Active CN101246442B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710080125XA CN101246442B (en) 2007-02-12 2007-02-12 memory access control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710080125XA CN101246442B (en) 2007-02-12 2007-02-12 memory access control method

Publications (2)

Publication Number Publication Date
CN101246442A CN101246442A (en) 2008-08-20
CN101246442B true CN101246442B (en) 2011-05-25

Family

ID=39946908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710080125XA Active CN101246442B (en) 2007-02-12 2007-02-12 memory access control method

Country Status (1)

Country Link
CN (1) CN101246442B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598342B (en) * 2014-12-31 2018-05-01 曙光信息产业(北京)有限公司 The detection method and device of memory

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003146A (en) * 1997-11-10 1999-12-14 Honeywell Inc. Method and apparatus of applying CRC to arinc 429 periodic data
US6052818A (en) * 1998-02-27 2000-04-18 International Business Machines Corporation Method and apparatus for ECC bus protection in a computer system with non-parity memory
US6327688B1 (en) * 1998-08-07 2001-12-04 Analog Devices, Inc. Data bus with automatic data integrity verification and verification method
CN1584853A (en) * 2003-08-22 2005-02-23 晶豪科技股份有限公司 Timing Control Method of Synchronous Memory
CN1869944A (en) * 2006-06-20 2006-11-29 威盛电子股份有限公司 System and method for capturing bus transmissions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003146A (en) * 1997-11-10 1999-12-14 Honeywell Inc. Method and apparatus of applying CRC to arinc 429 periodic data
US6052818A (en) * 1998-02-27 2000-04-18 International Business Machines Corporation Method and apparatus for ECC bus protection in a computer system with non-parity memory
US6327688B1 (en) * 1998-08-07 2001-12-04 Analog Devices, Inc. Data bus with automatic data integrity verification and verification method
CN1584853A (en) * 2003-08-22 2005-02-23 晶豪科技股份有限公司 Timing Control Method of Synchronous Memory
CN1869944A (en) * 2006-06-20 2006-11-29 威盛电子股份有限公司 System and method for capturing bus transmissions

Also Published As

Publication number Publication date
CN101246442A (en) 2008-08-20

Similar Documents

Publication Publication Date Title
US9015553B2 (en) Data integrity in memory controllers and methods
US8365015B1 (en) Memory-based error recovery
US20120159286A1 (en) Data transmission device, memory control device, and memory system
JP2010140127A (en) Data transfer processing apparatus and method
US20130232284A1 (en) Storage system and data transfer control method
US10853254B2 (en) Memory system having a memory controller and a memory device having a page buffer
US10126966B1 (en) Rotated memory storage for fast first-bit read access
TWI310499B (en) Slave and master of serial peripheral interface, system thereof, and method thereof
US7924521B1 (en) Data wedge format table synchronization
TW201945920A (en) Status management in storage backed memory package
CN101118526A (en) Memory interface for controlling burst memory access and control method thereof
US20110004817A1 (en) Crc management method performed in sata interface and data storage device using crc management method
US20110296131A1 (en) Nonvolatile memory system and the operation method thereof
CN111858141A (en) System-on-chip storage control device and system-on-chip
KR20230091006A (en) Address generation for adaptive double device data correction sparing
WO2015165202A1 (en) Hamming code-based data access method and integrated random access memory
CN101246442B (en) memory access control method
US8291270B2 (en) Request processing device, request processing system, and access testing method
CN112988449A (en) Device and method for writing data of page group into flash memory module
CN104471549B (en) Read requests processing unit
TW200842869A (en) Control method for read operation of memory
TWI358735B (en) Memory access control method
US9378782B1 (en) Apparatus with write-back buffer and associated methods
US7721161B2 (en) Method for controlling memory access
US20160004655A1 (en) Computing system and operating method of the same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant