CN101246442B - memory access control method - Google Patents
memory access control method Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 24
- 230000008569 process Effects 0.000 abstract description 7
- 238000004364 calculation method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
利用循环冗余校验(cyclic redundancy check,CRC)来提高记忆体存取过程中的错误校验能力。在读取过程中,所读出的资料的一部分通过CRC汇流排而送出至记忆体外部;以及CRC结果与所读出的资料的其他部分则通过资料汇流排而送出至记忆体外部。
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.
Description
技术领域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)
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)
| 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)
| 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 |
-
2007
- 2007-02-12 CN CN200710080125XA patent/CN101246442B/en active Active
Patent Citations (5)
| 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 |