Method of generating memory address data, computer-readable storage medium and apparatus

文档序号:1876935 发布日期:2021-11-23 浏览:19次 中文

阅读说明:本技术 生成存储器地址数据的方法、计算机可读存储介质及设备 (Method of generating memory address data, computer-readable storage medium and apparatus ) 是由 龙光腾 张利霞 褚银焕 于 2020-05-19 设计创作,主要内容包括:本公开是关于一种生成存储器地址数据的方法、计算机可读存储介质与计算机设备,该生成存储器地址数据的方法包括:预设物理地址与行、列以及库之间的映射关系,确定所述行、列及库对应所述物理地址的位;取预设数量的值作为设定数据,所述预设数量与存储器的信号地址线数量相同;获取命令真值表,所述命令真值表用于定义所述物理地址的位与命令的关系;根据所述命令真值表与所述设定数据确定所述行、列及库的值;根据所述行、列及库的值与所述映射关系,生成地址数据。本公开提供的生成存储器的地址数据的方法,能够对CA信号实现精准控制,提高存储器的训练、测试及验证等结果的可靠性。(The present disclosure relates to a method of generating memory address data, a computer-readable storage medium, and a computer device, the method of generating memory address data including: presetting mapping relations between physical addresses and rows, columns and banks, and determining the positions of the rows, columns and banks corresponding to the physical addresses; taking a value of a preset number as set data, wherein the preset number is the same as the number of signal address wires of the memory; acquiring a command truth table, wherein the command truth table is used for defining the relation between bits of the physical address and commands; determining values of the rows, columns and banks according to the command truth table and the setting data; and generating address data according to the values of the rows, the columns and the library and the mapping relation. The method for generating the address data of the memory can realize accurate control on the CA signal and improve the reliability of the results of training, testing, verifying and the like of the memory.)

1. A method of generating address data for a memory, comprising:

presetting mapping relations between physical addresses and rows, columns and banks, and determining the positions of the rows, columns and banks corresponding to the physical addresses;

taking a value of a preset number as set data, wherein the preset number is the same as the number of signal address wires of the memory;

acquiring a command truth table, wherein the command truth table is used for defining the relation between bits of the physical address and commands;

determining values of the rows, columns and banks according to the command truth table and the setting data;

and generating address data according to the values of the rows, the columns and the library and the mapping relation.

2. The method of claim 1, wherein the signal address lines comprise six signal address lines, and the taking a preset number of values as the setting data comprises:

acquiring initial data;

and taking the value of the upper six bits, the middle six bits or the lower six bits in the initial data as setting data.

3. The method of claim 1, wherein the setting data is a binary number.

4. The method of claim 1, wherein the command comprises at least one of an activate command, a read operation command, and a write operation command.

5. The method of claim 1, wherein the commands are multiple, and each command comprises at least two subcommands, different subcommands having different fixed bits;

the determining values for the rows, columns, and banks according to the command truth table and the set data comprises:

and when the sub-command has a first number of fixed bits, taking a second number of values in the setting data as the values of the bits of the physical address corresponding to the sub-command, wherein the sum of the first number and the second number is the preset number.

6. The method of claim 5, wherein the setting data is data in which the first signal value and the second signal value are alternately arranged.

7. The method of claim 6, wherein determining the row, column, and bank values according to the command truth table and the set data comprises:

and determining the values of the bits of the physical address corresponding to all the subcommands in the command truth table according to the setting data, wherein the bits of the physical address correspond to at least one of rows, columns and banks.

8. The method of claim 6, wherein determining the row, column, and bank values according to the command truth table and the set data comprises:

negating the set data to obtain negation data;

and determining the value of the bit of the physical address corresponding to any adjacent sub-command in the command truth table according to the setting data and the negation data, wherein the bit of the physical address corresponds to at least one of a row, a column and a bank.

9. The method of claim 6, wherein generating the address data according to the mapping relationship and the values of the row, the column and the bank comprises:

and sorting the values of the rows, the columns and the banks according to the mapping relation between the physical address and the rows, the columns and the banks based on the values of the rows, the columns and the banks in the command truth table to obtain address data.

10. The method of claim 9, further comprising, after the obtaining the address data: the address data is converted into a hexadecimal number.

11. The method of claim 1, further comprising, after generating address data according to the mapping relationship and the values of the row, the column, and the bank:

and inputting the address data into the memory to perform read-write test on the memory.

12. The method of claim 1, wherein the memory is a low power double rate synchronous dynamic random access memory.

13. A computer-readable storage medium, on which a computer program is stored, which program, when being executed by a processor, carries out the steps of the method of any one of claims 1 to 12.

14. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the steps of the method of any one of claims 1 to 12 are implemented when the program is executed by the processor.

Technical Field

The present disclosure relates to the field of semiconductor memory technologies, and in particular, to a method for generating memory address data, a computer-readable storage medium, and a computer device.

Background

LPDDR (Low Power Double Data Rate SDRAM, Low Power consumption Double Data Rate SDRAM), which is a kind of DDR SDRAM (Double Data Rate SDRAM), is also called mddr (mobile DDR SDRAM), is a communication standard established by JEDEC Solid State Technology Association (JEDEC Solid State Technology Association) facing Low Power consumption memory, is known as Low Power consumption and small volume, and is multi-purpose for mobile electronic products.

Usually, the LPDDR includes six command/address (CA) signal lines, wherein the setting of the address data (Pattern) directly affects the training, testing and verification of the LPDDR, and the training, testing and verification are almost performed based on a Memory Controller (Memory Controller), i.e. the CA signal cannot be precisely controlled.

It is to be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the present disclosure, and thus may include information that does not constitute prior art known to those of ordinary skill in the art.

Disclosure of Invention

The purpose of the present disclosure is to provide a method for generating address data of a memory, which can implement accurate control on a CA signal and improve the reliability of results of training, testing, verification, and the like of the memory.

According to an aspect of the present disclosure, there is provided a method of generating address data of a memory, the method including:

presetting mapping relations between physical addresses and rows, columns and banks, and determining the positions of the rows, columns and banks corresponding to the physical addresses;

taking a value of a preset number as set data, wherein the preset number is the same as the number of signal address wires of the memory;

acquiring a command truth table, wherein the command truth table is used for defining the relation between bits of the physical address and commands;

determining values of the rows, columns and banks according to the command truth table and the setting data;

and generating address data according to the values of the rows, the columns and the library and the mapping relation.

In an exemplary embodiment of the present disclosure, the signal address lines include six signal address lines, and the taking a preset number of values as the setting data includes:

acquiring initial data;

and taking the value of the upper six bits, the middle six bits or the lower six bits in the initial data as setting data.

In an exemplary embodiment of the present disclosure, the setting data is a binary number.

In an exemplary embodiment of the present disclosure, the command includes at least one of an activation command, a read operation command, and a write operation command.

In an exemplary embodiment of the present disclosure, the command is a plurality of commands, and each of the commands includes at least two sub-commands, different sub-commands having different fixed bits;

the determining values for the rows, columns, and banks according to the command truth table and the set data comprises:

and when the sub-command has a first number of fixed bits, taking a second number of values in the setting data as the values of the bits of the physical address corresponding to the sub-command, wherein the sum of the first number and the second number is the preset number.

In an exemplary embodiment of the present disclosure, the setting data is data in which the first signal value and the second signal value are alternately arranged.

In an exemplary embodiment of the present disclosure, the determining the values of the row, column, and bank according to the command truth table and the setting data includes:

and determining the values of the bits of the physical address corresponding to all the subcommands in the command truth table according to the setting data, wherein the bits of the physical address correspond to at least one of rows, columns and banks.

In an exemplary embodiment of the present disclosure, the determining the values of the row, column, and bank according to the command truth table and the setting data includes:

negating the set data to obtain negation data;

and determining the value of the bit of the physical address corresponding to any adjacent sub-command in the command truth table according to the setting data and the negation data, wherein the bit of the physical address corresponds to at least one of a row, a column and a bank.

In an exemplary embodiment of the present disclosure, generating address data according to the values of the row, the column, and the bank and the mapping relationship includes:

and sorting the values of the rows, the columns and the banks according to the mapping relation between the physical address and the rows, the columns and the banks based on the values of the rows, the columns and the banks in the command truth table to obtain address data.

In an exemplary embodiment of the present disclosure, after obtaining the address data, the method further includes: the address data is converted into a hexadecimal number.

In an exemplary embodiment of the present disclosure, after generating address data according to the values of the row, the column, and the bank and the mapping relationship, the method further includes:

and inputting the address data into the memory to perform read-write test on the memory.

In an exemplary embodiment of the present disclosure, the memory is a low power double rate synchronous dynamic random access memory.

According to another aspect of the disclosure, a computer-readable storage medium is provided, on which a computer program is stored which, when being executed by a processor, carries out the steps of the above-mentioned method.

According to yet another aspect of the present disclosure, there is provided a computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the steps of the above method are implemented when the program is executed by the processor.

According to the method for generating the address data of the memory, the bits of the physical addresses corresponding to the rows, the columns and the banks can be determined through the preset mapping relations between the physical addresses and the rows, the columns and the banks, then the preset number of values are taken as set data, the values of the rows, the columns and the banks are determined according to the command truth table and the set data, and finally the address data are generated according to the values of the rows, the columns and the banks and the mapping relations, so that the CA signal is accurately controlled according to the generated address data, the capability of training, testing and verifying the memory is enhanced, and the reliability of the results of the training, testing and verifying the memory is improved.

It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.

Drawings

The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty.

Fig. 1 is a flowchart of a method of generating address data of a memory according to an embodiment of the present disclosure;

FIG. 2 is a block diagram of a data path provided by one embodiment of the present disclosure;

fig. 3 is a flowchart of a method for generating address data of a memory according to another embodiment of the disclosure.

Detailed Description

Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the subject matter of the present disclosure can be practiced without one or more of the specific details, or with other methods, steps, etc. In other instances, well-known technical solutions have not been shown or described in detail to avoid obscuring aspects of the present disclosure.

Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.

The terms "a," "an," "the," and "said" are used to indicate the presence of one or more elements/components/etc.; the terms "comprising" and "having" are intended to be inclusive and mean that there may be additional elements/components/etc. other than the listed elements/components/etc.

First, in the present exemplary embodiment, there is provided a method of generating address data of a memory, as shown in fig. 1, the method including:

step S100, presetting mapping relations between physical addresses and rows, columns and banks, and determining the positions of the physical addresses corresponding to the rows, the columns and the banks;

step S200, taking the value of the preset number as the set data, wherein the preset number is the same as the number of the signal address wires of the memory;

step S300, obtaining a command truth table, wherein the command truth table is used for defining the relationship between bits of a physical address and a command;

step S400, determining values of rows, columns and banks according to a command truth table and setting data;

step S500, address data is generated according to the values and the mapping relation of the rows, the columns and the banks.

According to the method for generating the address data of the memory, the bits of the physical addresses corresponding to the rows, the columns and the banks can be determined through the preset mapping relations between the physical addresses and the rows, the columns and the banks, then the preset number of values are taken as set data, the values of the rows, the columns and the banks are determined according to the command truth table and the set data, and finally the address data are generated according to the values of the rows, the columns and the banks and the mapping relations, so that the CA signal is accurately controlled according to the generated address data, the capability of training, testing and verifying the memory is enhanced, and the reliability of the results of the training, testing and verifying the memory is improved.

Next, each step of the method of generating address data of a memory in the present exemplary embodiment will be further described.

In step S100, mapping relationships between physical addresses and rows, columns, and banks are preset, and bits of the physical addresses corresponding to the rows, columns, and banks are determined.

Specifically, the memory may be a low power double data rate synchronous dynamic random access memory (LPDDR), which is exemplified below, but the specific type of memory is not limited by this disclosure. The setting of Pattern directly affects the results of LPDDR training, testing and verification, which are almost performed based on a Memory Controller (Memory Controller)20, i.e., accurate control of the CA signal is not possible. A block diagram of the data path from CPU10 to SDRAM30 is shown in figure 2.

For example, assuming Pattern is 0xaaaaaa, the bus address and SDRAM ROW/Bank/Column mapping are shown in table 1.

Table 1:

bus to DRAM address mapping Bus address
Row bit[29:14]
Bank bit[13:11]
Colum bit[10:1]

In step S200, a value of a preset number is taken as setting data, and the preset number is the same as the number of signal address lines of the memory.

For example, the number of CA signal lines of LPDDR is 6, i.e., the preset number is six. Specifically, initial data is acquired, and the value of the upper six bits, the middle six bits, or the lower six bits in the initial data is taken as setting data. Preferably, the lower six bits in the initial data are taken as the setting data, and the lower six bits are convenient to take.

In step S300, a command truth table defining the relationship between bits of a physical address and a command is obtained.

Specifically, a command truth table is obtained, wherein the command truth table is used for defining the relationship between bits of a physical address and a command, and the command comprises at least one of an activation command, a read operation command and a write operation command. For example, the number of CA signal lines of LPDDR is 6, and it is necessary for the transmitting/combining party to perform the corresponding function (the relationship between the commands and CA signal lines in JEDEC is shown in table 2, and cannot be modified with shadow shading), and if the address data (Pattern) is set in the conventional manner, the Pattern cannot be actually reflected on each CA signal.

Table 2:

specifically, the only memory-based controller that can be modified are Row, Column, and Bank. Table 3 is obtained from the above relationship (Hex, Bin is address hexadecimal and binary, Addr is the above pattern, and R/B/C is Row/Bank/Column).

Table 3:

the relationship between the commands and the CA signals is shown in table 4, which originally intended to make 0/1 alternate between CA signals, but two 0's occur repeatedly. If the pattern is set to alternate (first using the pattern and then using the inverse of the pattern), it is even less satisfactory. As shown in Table 4, A1-H is set to pattern, and A1-L is set to the case where pattern is inverted.

Table 4:

in step S400, row, column and bank values are determined based on the command truth table and the set data.

Specifically, the command is multiple, and each command includes at least two subcommands, and different subcommands have different fixed bits; and when the sub-command has a first number of fixed bits, taking a second number of values in the set data as the values of the bits of the physical address corresponding to the sub-command, wherein the sum of the first number and the second number is a preset number.

For example, assuming the conditions are all as described above (Pattern is still 0 xaaaaaa), the new Pattern is 0x 2A.

Among them, CA2-CA5 of a1-H corresponds to R12/R13/R14/R15, i.e., 0x5(0101b), and according to table 5, R12 ═ 1, R13 ═ 0, R14 ═ 1, and R15 ═ 0.

Table 5:

for example, the setting data is binary, the lower 6 bits of the setting data represent CA0, CA1, CA2, CA 3, CA 4 and CA5, and CA5 is the minimum end; all the operations performed by the memory controller 20 can be performed directly only by Read-Write operations, the Read-Write operation commands include Active-1, Active-2, Read-1, Read-2, Write-1 and Write-2 sub-commands, each sub-command includes Row, Column and Bank, and the sub-commands can be modified into Row, Column and Bank based on the memory controller.

For A1-H, CA2-CA5 is affected, and the lower 4 bits of the setting data are taken, namely bit 0 of the setting data corresponds to R15 of the address signal, bit 1 corresponds to R14, and the relationship between the setting data and R12-R15 is respectively determined by analogy with the command truth table relationship.

A1-L, A2-H, A2-L, W1-H, W1-L, W2-H and W2-L also set the relationship between each sub command and the physical address in the above-described manner.

Specifically, the setting data is data in which the first signal value and the second signal value are alternately arranged. For example, the values of bits of the physical address corresponding to all the subcommands in the command truth table are determined according to the setting data, the bits of the physical address corresponding to at least one of a row, a column, and a bank. When the data are not alternated, negating the set data to obtain negating data; and when the command truth table is alternated, determining the value of the bit of the physical address corresponding to any adjacent sub-command in the command truth table according to the set data and the negation data, wherein the bit of the physical address corresponds to at least one of a row, a column and a bank.

For example, as shown in table 6 and table 7, the use of non-alternation (CA0-CA5 is 0x2A ═ 101010b) and alternation (CA0-CA5 is 0x2A ═ 101010b and-0 x2A ═ 010101b) were sequentially obtained, and the values of Row/Bank/Column were obtained.

Table 6:

table 7:

in step S500, address data is generated based on the values and mapping relationships of the rows, columns, and banks.

Specifically, the values of the rows, columns and banks are sorted according to the values of the rows, columns and banks in the command truth table and according to the mapping relations between the physical addresses and the rows, columns and banks to obtain address data, and the address data are converted into hexadecimal numbers.

For example, according to the obtained value of Row/Bank/Column, the address data when the address is remapped, namely non-alternation, is 0x15556CA8, as shown in Table 8; the address data at the time of alternation is: 0x165a 9150.

Table 8:

as shown in fig. 3, the method for generating address data of a memory provided by the present disclosure further includes:

step S600, inputting the address data into the memory to perform read-write test on the memory.

Specifically, the generated address data is input to the LPDDR, which is subjected to read-write test. The memory is tested by regenerating the address data, so that the capability of training, testing and verifying the memory is enhanced, and the reliability of the results of the training, testing and verifying of the memory and the like is improved.

The present disclosure also provides a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the above-described method.

The present disclosure also provides a computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor being capable of implementing the steps of the above method when executing the program.

Moreover, although the steps of the methods of the present disclosure are depicted in the drawings in a particular order, this does not require or imply that the steps must be performed in this particular order, or that all of the depicted steps must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions, etc.

Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.

Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:内存装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!