CN102043729B - Memory management method and system of dynamic random access memory - Google Patents

Memory management method and system of dynamic random access memory Download PDF

Info

Publication number
CN102043729B
CN102043729B CN2009102363615A CN200910236361A CN102043729B CN 102043729 B CN102043729 B CN 102043729B CN 2009102363615 A CN2009102363615 A CN 2009102363615A CN 200910236361 A CN200910236361 A CN 200910236361A CN 102043729 B CN102043729 B CN 102043729B
Authority
CN
China
Prior art keywords
bank
address
user
total drift
spatial mappings
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
CN2009102363615A
Other languages
Chinese (zh)
Other versions
CN102043729A (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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2009102363615A priority Critical patent/CN102043729B/en
Publication of CN102043729A publication Critical patent/CN102043729A/en
Application granted granted Critical
Publication of CN102043729B publication Critical patent/CN102043729B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Dram (AREA)

Abstract

The invention provides a memory management method of a dynamic random access memory (DRAM), which is used for carrying out memory management based on a table in the memory. The method comprises the following steps: incorporating a table index and relative offset address information in the table into a user command; mapping in accordance with the table index and the relative offset address information in the table to obtain a global address and an operating type in an input command of a DRAM controller and judge whether an automatic precharge operation needs to be accompanied; and controlling the read/write of DRAM particles by the DRAM controller in accordance with the global address and the operating type in the input command. The invention also provides a DRAM management device using the method. By using the memory management method and device provided by the invention, the memory management can be carried out based on the table, and one DRAM controller can carry out flexible address management and operation management on multiple tables of different total capacities and different table-item widths.

Description

The EMS memory management process of dynamic RAM and system
Technical field
The present invention relates to storage control technology, particularly EMS memory management process and the system of a kind of dynamic RAM (DRAM).
Background technology
At present, the DRAM technology obtains great development, main use the polytypes such as synchronous dynamic random incoming memory (SDRAM), Double Data Rate (DDR) SDRAM, 2nd generation Double Data Rate (DDR2) SDRAM and the 3rd generation Double Data Rate (DDR3) SDRAM are arranged.DRAM for existing the above-mentioned type, referring to Fig. 1, real application systems all comprises DRAM Memory Controller Hub and DRAM memory grain at least, the DRAM Memory Controller Hub sends control command to the DRAM memory grain, comprise clock signal, command-control signal and address signal, and the DRAM memory grain is carried out the read-write operation of data-signal by above-mentioned control command control.
Specifically, memory grain has 4 or 8 memory banks (BANK) usually, before controller carries out the read-write operation of data-signal to some BANK, need to open this BANK one corresponding row with activating (ACTIVE) order, can read and write the data in this row.If read and write the space that other row of this BANK comprises, then need to utilize first precharge (PRECHARGE) order to close other opened row, and then utilize the ACTIVE order to open this corresponding row.In order to improve the utilization factor of data bus in the read and write access of the DRAM of many BANK, the DRAM Memory Controller Hub can be opened a plurality of BANK usually simultaneously, and interts the data read-write operation that carries out a plurality of BANK.
The read write command that CPU sends is called user instruction, in majority is used, often is the input command that user instruction becomes the DRAM Memory Controller Hub, and the DRAM Memory Controller Hub is controlled the DRAM memory grain according to input command.User instruction finally is presented as the read and write access to the DRAM storage space.User instruction comprises action type and operation address information, and wherein action type comprises read or write; Operation address information provides certain address in the connected reference space that can happen suddenly.Operation address information can be mapped as and specify sheet to select space (CS), BANK space and concrete row address (ROW) and column address (COL).At present, the mapping method of CS/BANK/ROW/COL address that the operation address information of user instruction is mapped as the input command of dram controller has two kinds, respectively right and wrong BANK mapping and the BANK mapping that interweaves that interweaves.
Non-BANK interweave the mapping an instantiation as shown in table 1.
31:30 29 28 27:25 24:10 9:0
Action type Keep Sheet selects space (CS) BANK space (BANK) Row address (ROW) Column address (COL)
Table 1
When adopting non-BANK to interweave mapping method, the DRAM internal storage management system as shown in Figure 2.User instruction directly inputs to the DRAM Memory Controller Hub as the input command of DRAM Memory Controller Hub.Adopt non-BANK interleaving mode not take full advantage of the advantage of many BANK, performance is lower when the larger data of randomness are read and write.
In order to take full advantage of the advantage of many BANK, the PRECHARGE etc. that hides the line feed address space access postpones expense, adopts the BANK mapping mode that interweaves.But user instruction generally provides certain address in a connected reference space.The low bit address information of part wherein is mapped as BANK information.
BANK interweave the mapping an instantiation as shown in table 2, in table 2, equal 4 as example take burst access length.
31:30 29 28 27 26:12 11:4 3:2 1:0
Action type Keep Sheet selects space (CS) Part BANK space (BANK) Row address (ROW) Part rows address (COL) Part BANK space (BANK) Part rows address (COL)
Table 2
When adopting BANK to interweave mapping method, the DRAM internal storage management system as shown in Figure 3.Be mapped as the input command of DRAM Memory Controller Hub after the user instruction process BANK interleave unit, and, the BANK interleave unit also links to each other with configuration interface, provides configuration information by configuration interface for the BANK interleave unit, and configuration information comprises the BANK quantity that burst access length and participation interweave etc.The BANK interleave unit according to configuration information extract some bit information as the BANK input information to dram controller, the concrete bit information that extracts is determined by configuration information.
The data that need in the data communications equipment to read and write often are stored among the BANK with form, treatment circuit (such as dedicated processes chips such as on-site programmable gate array FPGAs) needs a plurality of forms of access in data-signal read-write process, list item size and the form total volume possibility difference of each form are very large, might take a BANK by a form, also might need to take a plurality of BANK by a form, a plurality of forms may a certain or some BANK of the unity of possession.Existing BANK interweaves in the mapping method, shines upon according to the input command that comprises the BANK address, can't satisfy so meticulous address mapping demand.
In addition, the access process of a plurality of forms is presented as the read and write access that randomness is larger, in order to take full advantage of the advantage of many BANK, realizes largeizationr of random access performance, sometimes will clearly indicate the current read or write of dram controller will follow auto precharge operation.For the situation of a plurality of forms of management under the same controller, CPU or dedicated processes circuit are difficult to judge to provide the indication that will follow auto precharge operation in which user instruction.When existing mapping method needs to send such indication if can not being judged.
In a word, existing DRAM EMS memory management process and device are difficult to satisfy the form of a plurality of different capabilities of same DRAM Memory Controller Hub flexible management, different list item width, and the advantage that also is difficult to take full advantage of many BANK realizes a plurality of largeizationr of table access performance.
Summary of the invention
The embodiment of the invention provides the EMS memory management process of a kind of dynamic RAM DRAM, is intended to the form of a plurality of different capabilities of flexible management, different list item width.
The embodiment of the invention provides the internal storage management system of a kind of dynamic RAM DRAM, is intended to the form of a plurality of different capabilities of flexible management, different list item width.
For first purpose, the technical scheme of the embodiment of the invention specifically is achieved in that
The EMS memory management process of a kind of dynamic RAM DRAM comprises:
Reception comprises the user instruction of action type and operation address information, comprises relativity shift address information in table index and this form in the described operation address information;
Shine upon the input command that obtains the DRAM Memory Controller Hub according to user instruction and pre-configured form management table and form BANK spatial mappings table, comprise global address and action type in the described input command;
The DRAM Memory Controller Hub is according to the reading and writing data of input command control DRAM memory grain.
In the such scheme, the pre-configured method of described form management table and form BANK spatial mappings table comprises:
Receive configuration information;
According to configuration information burst access length is set, sheet selects space number, BANK address width, row address width and column address width;
According to configuration information form management table and form BANK spatial mappings table are set, each list item of described form management table comprises the BANK number that a form takies, and described form BANK spatial mappings table comprises the BANK address.
In the such scheme, the described input command that obtains the DRAM Memory Controller Hub according to user instruction and pre-configured form management table and the mapping of form BANK spatial mappings table comprises:
User's total drift in the computation sheet, computing method are: relativity shift address information in the user's skew=form in the form;
The BANK number that takies according to burst access length and form is calculated BANK and is searched sequence number and BANK offset address;
Search sequence number composition form BANK spatial mappings table index according to table index and BANK, inquire about described form BANK spatial mappings table according to form BANK spatial mappings table index, obtain BANK address corresponding to user instruction;
Calculate the BANK total drift, computing method are: BANK total drift=BANK offset address;
According to required row address and the total bit of column address, the corresponding figure place from low level in the BANK total drift is mapped as column address and row address.
In the such scheme, the described BANK number that takies according to burst access length and form calculates that BANK searches sequence number and the BANK offset address comprises:
Determine the low bit of burst according to burst access length, hang down the BANK number that bit position in addition takies divided by form with burst in the skew of the user in the form, remainder is that BANK searches sequence number, and the low bit of burst forms the BANK offset address in the user's skew in merchant and the form.
In the such scheme,
Each list item of described form management table further comprises: the user instruction additional offset;
The computing method of user's total drift are in the described computation sheet: relativity shift address information in the user's skew=form in the form+user instruction additional offset.
In the such scheme,
Described form BANK spatial mappings table further comprises: the BANK additional offset;
The computing method of described calculating BANK total drift are: BANK total drift=BANK offset address+BANK additional offset.
In the such scheme,
Described form BANK spatial mappings table further comprises: the auto-precharge indication, and indicate current read-write operation whether to need to follow auto precharge operation, if necessary, then action type is revised as read/write by read/write operation and follows auto precharge operation.
For above-mentioned second purpose, this technical scheme is such:
A kind of DRAM internal storage management system comprises:
The memory management device, be used for receiving the user instruction that comprises action type and operation address information, comprise relativity shift address information in table index and the form in the described operation address information, shine upon the input command that obtains the DRAM Memory Controller Hub according to user instruction and pre-configured form management table and form BANK spatial mappings table, comprise global address and action type in the described input command;
The DRAM Memory Controller Hub is used for according to input command the DRAM memory grain being carried out data read-write operation;
The DRAM memory grain is used for form storage data.
In the such scheme, described memory management device comprises:
The form management table carries out pre-configuredly according to configuration information, inquire the shared BANK number of form of needs access according to user instruction, offers address mapping unit;
Form BANK spatial mappings table carries out pre-configuredly according to configuration information, inquire the BANK address of the form of needs access according to user instruction, offers address mapping unit;
Address mapping unit, receive user instruction, according to user's total drift in the relative address offset information computation sheet in the form in the user instruction, determine the low bit of burst according to pre-configured burst access length, hang down the BANK number that bit position in addition takies divided by form with burst in the skew of the user in the form, remainder is that BANK searches sequence number, the low bit of burst forms the BANK offset address in user's skew in merchant and the form, calculate the BANK total drift according to the BANK offset address, according to pre-configured row address and the total bit of column address, the corresponding figure place from low level in the BANK total drift is mapped as column address and row address.
In the such scheme,
Described form management table further comprises: the user instruction additional offset;
Described address mapping unit obtains the user instruction additional offset from described form management table, with relative address offset information in the form in the user instruction and the addition of user instruction additional offset, obtains user's total drift in the form.
In the such scheme,
Described form BANK spatial mappings table further comprises: the BANK additional offset;
Described address mapping unit obtains the BANK additional offset from described form BANK spatial mappings table, with the address offset information in the user instruction and the addition of BANK additional offset, obtains the BANK total drift.
In the such scheme,
Described form BANK spatial mappings table further comprises: the auto-precharge indication;
Whether the current read-write operation of described auto-precharge indication indication needs to follow auto precharge operation, and if necessary, then described address mapping unit is revised as read/write with action type by read/write operation and follows auto precharge operation.
As seen from the above technical solutions, the form that the present invention is based in the internal memory carries out memory management, in user instruction, comprise relativity shift address information in table index and this form, shine upon according to relativity shift address information in table index and this form, obtain the global address in the input command of DRAM Memory Controller Hub, the DRAM Memory Controller Hub is according to the read-write of the control of the global address in input command DRAM memory grain.Because carry out memory management based on form, therefore a DRAM Memory Controller Hub can carry out flexible management to the form of a plurality of different total volumies, different list item width.
Description of drawings
Fig. 1 is DRAM application system structural representation;
Fig. 2 is the DRAM internal storage management system synoptic diagram that non-BANK interweaves and shines upon in the prior art;
Fig. 3 is the DRAM internal storage management system synoptic diagram that BANK interweaves and shines upon in the prior art;
Fig. 4 is a preferred embodiment of the present invention DRAM internal storage management system synoptic diagram;
Fig. 5 is the composition structural representation of memory management device in a preferred embodiment of the present invention.
Embodiment
For making purpose of the present invention, technical scheme and advantage clearer, referring to the accompanying drawing embodiment that develops simultaneously, the present invention is described in more detail.
In the embodiment of the DRAM EMS memory management process that the present invention proposes, user instruction still comprises action type and operation address information.Identical in action type and the prior art, comprise read or write.Unlike the prior art be, comprise relativity shift address information in table index and this form in the operation address information in the embodiment of the invention, wherein, table index is in order to the some forms of indication access, and the relativity shift address information is in order to the side-play amount of indication in above table in this form.Shine upon according to relativity shift address information in the table index in the above-mentioned user instruction and this form, obtain the input command of DRAM Memory Controller Hub, comprise global address and action type in the input command, the DRAM Memory Controller Hub is according to the reading and writing data of input command control DRAM memory grain.
The EMS memory management process that adopts the present invention to propose is shone upon the user instruction that comprises above-mentioned information, obtains the input command of DRAM Memory Controller Hub, and an instantiation of mapping relations is as shown in table 3.For 32 DRAM Memory Controller Hub input command, the 31st and the 30th is used for the expression action type, and the 29th to the 27th is used for the expression table index, and the 26th to the 0th is used for relativity shift address information in this form of expression.
31:30 29:27 26:0
Action type Table index [2:0] Relativity shift address information in this form
Table 3
When adopting the EMS memory management process of the present invention's proposition, need to improve the DRAM internal storage management system, that is, BANK interleave unit shown in Figure 3 be replaced with the memory management device, the DRAM internal storage management system after the improvement as shown in Figure 4.The composition structure of memory management device inside as shown in Figure 5.
Referring to Fig. 4 and Fig. 5, memory management device inside comprises address mapping unit 501, form management table 502 and form BANK spatial mappings table 503.The memory management device receives user instruction and configuration information, in advance according to configuration information configuration form admin table 502 and form BANK spatial mappings table 503, after receiving user instruction, the input command that maps out the DRAM Memory Controller Hub according to user instruction and pre-configured form management table 502 and form BANK spatial mappings table 503.
Configuration information sends the memory management device to by configuration interface, can form management table 502 and form BANK spatial mappings table 503 be set by configuration information, and the information such as burst access length, BANK address width, row address width and column address width are set.
Each list item of form management table 502 carries out index by the table index value in the user instruction, the BANK number that each list item takies in order to indicate a form.After the memory management device receives user instruction, in form management table 502, inquire the shared BANK number of form of needs access according to user instruction, and offer address mapping unit 501.Preferably, can also in the list item of form management table 502, comprise the user instruction additional offset, in order to the offset address of indicating this user instruction to add, provide it to address mapping unit 501.
The BANK that each list item of form BANK spatial mappings table 503 is calculated by the table index value in the user instruction and address mapping unit 501 searches sequence number and unites and carry out index, and the list item of form BANK spatial mappings table 503 is indicated this user instruction to be mapped to concrete which BANK of DRAM particle and offered address mapping unit 501.Preferably, can also in the list item of form BANK spatial mappings table 503, comprise the BANK additional offset, in order to the offset address of indicating this user instruction to add, provide it to address mapping unit 501.Further, can also in the list item of form BANK spatial mappings table 503, comprise the auto-precharge indication, whether need to follow auto-precharge in order to indicate this user instruction, this indicator signal is offered address mapping unit 501.
The Ben Biaoge that address mapping unit 501 provides according to burst access length, form management table 502 takies BANK quantity and user instruction additional offset, calculate BANK corresponding to this user instruction and search sequence number and the interior offset address of BANK, BANK is searched sequence number offer form BANK spatial mappings table.And BANK address and BANK additional offset that address mapping unit 501 provides according to form BANK spatial mappings table 503 generate the address informations such as the BANK address send to dram controller, row address, column address.Preferably, address mapping unit 501 receives the auto-precharge indication that form BANK spatial mappings table 503 provides, and need to follow auto-precharge if auto-precharge is designated as, and then action type is revised as and follows auto precharge operation.Address mapping unit 501 offers dram controller with the address information of its generation and action type as the input command of DRAM Memory Controller Hub.
The below is elaborated with the workflow of a specific embodiment to address mapping unit 501, in the present embodiment, equal 4 with burst access length, have 8 BANK in the DRAM memory grain, it is 1 that sheet selects the space number, the BANK address width is 3, and the row address width is 15, and column address width is 10 and is example.
The BANK number that each list item of form management table 502 takies in order to indicate a form, preferably, each list item of form management table 502 also comprises the user instruction additional offset, the BANK number that some forms are taken is labeled as n, and the user instruction additional offset of some forms is labeled as Offset1.Address mapping unit 501 obtains n and the Offset1 of the form of required access from form management table 502.
User's total drift in address mapping unit 501 computation sheets, circular is: relativity shift address information in the user's total drift in the form=this form+user instruction additional offset Offset1, wherein Offset1 is optional.Offset address in the form as 27 as example, it is labeled as ADDR1[26:0], then the user's total drift in the form is 27 also, and it is labeled as ADDR2[26:0].
Address mapping unit 501 calculates BANK and searches sequence number and BANK offset address, circular is: according to burst access length, hang down bit position in addition divided by n with burst among the ADDR2, for example, burst access length equals 4, then the low bit of burst is minimum 2 bits, the low bit addresses of i.e. burst is ADDR2[1:0], position among the ADDR2 beyond the low bit of burst is ADDR2[26:2], use ADDR2[26:2] divided by n, its remainder is that BANK searches sequence number, merchant and ADDR2[1:0] form the BANK offset address, the BANK offset address is designated as ADDR3[26:0].
Form BANK spatial mappings table 503 provides BANK address and optional BANK additional offset, and the BANK address is designated as BA[2:0], the BANK additional offset is designated as Offset2.Address mapping unit 501 obtains BA[2:0 from form BANK spatial mappings table 503] and Offset2.
Address mapping unit 501 calculates the BANK total drift, circular is: BANK total drift=BANK offset address ADDR3[26:0]+BANK additional offset Offset2, wherein Offset2 is optional, and the BANK total drift is 27 also, and it is labeled as ADDR4[26:0].
Address mapping unit 501 is according to required row address and the total bit of column address, identical figure place from low level in the BANK total drift is mapped as row address and column address, that is, and row address ROW[14:0], column address COL[9:0]=BANK total drift ADDR4[24:0]; With BANK address BA[2:0] be mapped as BANK[2:0], that is, and BANK[2:0] }=BA[2:0].In the present embodiment, because only have a sheet to select the space, corresponding CS address is 0 always.
The CS signal takies the part of BANK address.For example, only have 4 BANK in this DRAM memory grain, if need to realize under a controller 8 BANK being arranged, then need two CS spaces, CS space CS[0] expression.In this example, CS[0]=BA[2], BANK[1:0] }=BA[1:0].
The below is described in detail the EMS memory management process that adopts the present invention to propose with a specific embodiment, in the present embodiment, 5 forms of a controller management, its form management table is as shown in table 4, and form BANK spatial mappings table is as shown in table 5.
Table index [2:0] The BANK quantity that takies User instruction additional offset (optional)
0 1 0x000_0000
1 1 0x000_0000
2 2 0x000_0000
3 4 0x000_0000
4 4 0x100_0000
5 Not 0 (not using)
6 Not 0 (not using)
7 Not 0 (not using)
Table 4
{ table index [2:0], BANK searches sequence number [2:0] } The BANK address The auto-precharge indication BANK additional offset (optional)
3’b000,3’b000 0 0 0x000_0000
3’b001,3’b000 1 0 0x000_0000
3’b010,3’b000 2 1 0x000_0000
3’b010,3’b001 3 1 0x000_0000
3’b011,3’b000 4 1 0x000_0000
3’b011,3’b001 5 1 0x000_0000
3’b011,3’b010 6 1 0x000_0000
3’b011,3’b011 7 1 0x000_0000
3’b100,3’b000 4 1 0x000_0000
3’b100,3’b001 5 1 0x000_0000
3’b100,3’b010 6 1 0x000_0000
3’b100,3’b011 7 1 0x000_0000
Other Not 0 (not using)
Table 5
Referring to table 4, the configuration of the form of present embodiment is as follows:
Form 0 and form 1 take respectively 1 BANK, are respectively BANK0 and BANK1;
Form 2 takies 2 BANK, is BANK2 and BANK3;
Form 3 and form 4 take 4 BANK jointly, and namely form 3 and form 4 take BANK4, BANK5, BANK6 and BANK7 jointly, realize sharing BANK by user instruction additional offset 0x100_0000 is set for form 4.
Referring to form 5, the auto-precharge indication bit in the form 5 is used to indicate whether need to follow auto precharge operation, and in the present embodiment, auto-precharge is designated as 0 expression and keeps original action type; Auto-precharge is designated as the current read/write operation of 1 expression need to follow auto precharge operation.0 or the 1 represented situation that also auto-precharge in the present embodiment can be designated as is exchanged, and whether expression needs to follow auto precharge operation.
In the present embodiment, provide with a user instruction form 4 carried out read access operation, and in the user instruction in this form the relativity shift address be that 0x000_0810 is example.Therefore, the table index that needs to inquire about in the form management table equals 4, i.e. 3 ' b100, and the form management table informs that form 4 takies 4 BANK, i.e. n=4, and user instruction additional offset is 0x100_0000.
Address mapping unit calculates the user's total drift ADDR2 in the form, and computing method are ADDR2[26:0]=0x000_0810+0x100_0000=0x100_0810.
Still take burst access length as 4 as example, then burst bit is low 2 bits.N=4 is with the position ADDR2[26:2 beyond low 2 bits among the ADDR2] divided by n, calculating the gained remainder is that BANK searches sequence number, then BANK searches sequence number=3 ' b000; Calculate gained merchant and ADDR2[1:0] composition BANK offset address ADDR3, i.e. ADDR3[26:0]=0x040_0024.
Therefore, the index that obtains form BANK spatial mappings table equal 3 ' b100,3 ' b000} obtain BANK address BA[2:0]=3 ' b100, optional auto-precharge indication=1, optional BANK additional offset Offset2=0x000_0000.
Address mapping unit calculates BANK total drift ADDR4, and circular is: ADDR4[26:0]=0x040_0024+0x000_0000=0x040_0024.
If the row address width is 15 bits, column address width is 10 bits, then row address row[14:0]=ADDR4[24:10]=15 ' b001_0000_0000_0000; Column address col[9:0]=ADDR4[9:0]=10 ' b00_0010_0100; BANK[2:0]=BA[2:0]=3 ' b100.Only have a sheet to select the space in the present embodiment, corresponding CS address is 0 always.Simultaneously, because auto-precharge is designated as 1, address mapping unit is revised as action type by the read access operation reads to follow auto precharge operation.Comprehensive above-mentioned mapping result, address mapping unit offers consisting of of dram controller input command: action type=read to follow auto precharge operation, global address is CS=0, BANK[2:0]=3 ' b100, row[14:0]=15 ' b001_0000_0000_0000, col[9:0]=10 ' b00_0010_0100.
According to above-described embodiment as seen, the embodiment of the invention compared with prior art, improvements are to carry out address administration and operational administrative based on the form in the DRAM internal memory, in user instruction, comprise relativity shift address information in table index and this form, shine upon according to relativity shift address information in table index and this form, obtain the global address in the input command of DRAM Memory Controller Hub, the DRAM Memory Controller Hub is according to the read-write of the control of the global address in input command DRAM memory grain.Because carry out address administration and operational administrative based on form, therefore a DRAM Memory Controller Hub can carry out flexible address administration to the form of a plurality of different total volumies, different list item width, and keeps higher random access performance.
In a word, the above is preferred embodiment of the present invention only, is not for limiting protection scope of the present invention.Within the spirit and principles in the present invention all, any modification of doing, be equal to replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (14)

1. the EMS memory management process of a dynamic RAM DRAM is characterized in that, comprising:
Reception comprises the user instruction of action type and operation address information, comprise relativity shift address information in table index and this form in the described operation address information, described table index is in order to which form of indication access, and the relativity shift address information is in order to the side-play amount of indication in described form in this form;
Shine upon the input command that obtains the DRAM Memory Controller Hub according to user instruction and pre-configured form management table and form BANK spatial mappings table, each list item of described form management table comprises the BANK number that a form takies, and the list item indicating user command mappings of described form BANK spatial mappings table is to the address of concrete which BANK of DRAM particle; Comprise global address and action type in the described input command;
The DRAM Memory Controller Hub is according to the reading and writing data of input command control DRAM memory grain.
2. EMS memory management process as claimed in claim 1 is characterized in that, the pre-configured method of described form management table and form BANK spatial mappings table comprises:
Receive configuration information;
According to configuration information burst access length is set, sheet selects space number, BANK address width, row address width and column address width;
According to configuration information form management table and form BANK spatial mappings table are set.
3. EMS memory management process as claimed in claim 2 is characterized in that, the described input command that obtains the DRAM Memory Controller Hub according to user instruction and pre-configured form management table and the mapping of form BANK spatial mappings table comprises:
User's total drift in the computation sheet, computing method are: relativity shift address information in the user's total drift=form in the form;
The BANK number that takies according to burst access length and form is calculated BANK and is searched sequence number and BANK offset address;
Search sequence number composition form BANK spatial mappings table index according to table index and BANK, inquire about described form BANK spatial mappings table according to form BANK spatial mappings table index, obtain BANK address corresponding to user instruction;
Calculate the BANK total drift, computing method are: BANK total drift=BANK offset address;
According to required row address and the total bit of column address, the corresponding figure place from low level in the BANK total drift is mapped as column address and row address.
4. EMS memory management process as claimed in claim 3 is characterized in that, the described BANK number that takies according to burst access length and form calculates that BANK searches sequence number and the BANK offset address comprises:
Determine the low bit of burst according to burst access length, hang down the BANK number that bit position in addition takies divided by form with burst in the user's total drift in the form, remainder is that BANK searches sequence number, and the low bit of burst forms the BANK offset address in the user's total drift in merchant and the form.
5. such as claim 3 or 4 described EMS memory management process, it is characterized in that,
Each list item of described form management table further comprises: the user instruction additional offset;
The computing method of user's total drift are in the described computation sheet: relativity shift address information in the user's total drift=form in the form+user instruction additional offset.
6. such as claim 3 or 4 described EMS memory management process, it is characterized in that,
Described form BANK spatial mappings table further comprises: the BANK additional offset;
The computing method of described calculating BANK total drift are: BANK total drift=BANK offset address+BANK additional offset.
7. such as claim 3 or 4 described EMS memory management process, it is characterized in that,
Described form BANK spatial mappings table further comprises: the auto-precharge indication, and indicate current read-write operation whether to need to follow auto precharge operation, if necessary, then action type is revised as read/write by read/write operation and follows auto precharge operation.
8. the internal storage management system of a dynamic RAM DRAM is characterized in that, comprising:
First device, be used for receiving the user instruction that comprises action type and operation address information, comprise relativity shift address information in table index and the form in the described operation address information, described table index is in order to which form of indication access, and the relativity shift address information is in order to the side-play amount of indication in described form in this form;
The second device, be used for shining upon the input command that obtains the DRAM Memory Controller Hub according to user instruction and pre-configured form management table and form BANK spatial mappings table, each list item of described form management table comprises the BANK number that a form takies, and each list item indicating user command mappings of described form BANK spatial mappings table is to the address of concrete which BANK of DRAM particle; Comprise global address and action type in the described input command;
The 3rd device is used for the DRAM Memory Controller Hub and according to input command the DRAM memory grain is carried out data read-write operation.
9. internal storage management system as claimed in claim 8 is characterized in that, also comprises the pre-configured device of described form management table and form BANK spatial mappings table, is used for:
Receive configuration information;
According to configuration information burst access length is set, sheet selects space number, BANK address width, row address width and column address width;
According to configuration information form management table and form BANK spatial mappings table are set.
10. internal storage management system as claimed in claim 9 is characterized in that, the described input command that obtains the DRAM Memory Controller Hub according to user instruction and pre-configured form management table and the mapping of form BANK spatial mappings table comprises:
User's total drift in the computation sheet, computing method are: relativity shift address information in the user's total drift=form in the form;
The BANK number that takies according to burst access length and form is calculated BANK and is searched sequence number and BANK offset address;
Search sequence number composition form BANK spatial mappings table index according to table index and BANK, inquire about described form BANK spatial mappings table according to form BANK spatial mappings table index, obtain BANK address corresponding to user instruction;
Calculate the BANK total drift, computing method are: BANK total drift=BANK offset address;
According to required row address and the total bit of column address, the corresponding figure place from low level in the BANK total drift is mapped as column address and row address.
11. internal storage management system as claimed in claim 10 is characterized in that, the described BANK number that takies according to burst access length and form calculates that BANK searches sequence number and the BANK offset address comprises:
Determine the low bit of burst according to burst access length, hang down the BANK number that bit position in addition takies divided by form with burst in the user's total drift in the form, remainder is that BANK searches sequence number, and the low bit of burst forms the BANK offset address in the user's total drift in merchant and the form.
12. such as claim 10 or 11 described internal storage management systems, it is characterized in that,
Each list item of described form management table further comprises: the user instruction additional offset;
The computing method of user's total drift are in the described computation sheet: relativity shift address information in the user's total drift=form in the form+user instruction additional offset.
13. such as claim 10 or 11 described internal storage management systems, it is characterized in that,
Described form BANK spatial mappings table further comprises: the BANK additional offset;
The computing method of described calculating BANK total drift are: BANK total drift=BANK offset address+BANK additional offset.
14. such as claim 10 or 11 described internal storage management systems, it is characterized in that,
Described form BANK spatial mappings table further comprises: the auto-precharge indication, and indicate current read-write operation whether to need to follow auto precharge operation, if necessary, then action type is revised as read/write by read/write operation and follows auto precharge operation.
CN2009102363615A 2009-10-20 2009-10-20 Memory management method and system of dynamic random access memory Active CN102043729B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102363615A CN102043729B (en) 2009-10-20 2009-10-20 Memory management method and system of dynamic random access memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102363615A CN102043729B (en) 2009-10-20 2009-10-20 Memory management method and system of dynamic random access memory

Publications (2)

Publication Number Publication Date
CN102043729A CN102043729A (en) 2011-05-04
CN102043729B true CN102043729B (en) 2013-03-13

Family

ID=43909880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102363615A Active CN102043729B (en) 2009-10-20 2009-10-20 Memory management method and system of dynamic random access memory

Country Status (1)

Country Link
CN (1) CN102043729B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662853A (en) * 2012-03-22 2012-09-12 北京北大众志微系统科技有限责任公司 Memory management method and device capable of realizing memory level parallelism
US8832158B2 (en) * 2012-03-29 2014-09-09 International Business Machines Corporation Fast predicate table scans using single instruction, multiple data architecture
CN104346234B (en) 2013-08-09 2017-09-26 华为技术有限公司 A kind of method of internal storage access, equipment and system
CN104699414B (en) * 2013-12-09 2018-02-13 华为技术有限公司 A kind of data read-write method and storage device
CN105988952B (en) * 2015-02-28 2019-03-08 华为技术有限公司 The method and apparatus for distributing hardware-accelerated instruction for Memory Controller Hub
CN107180001B (en) 2016-03-10 2020-02-21 华为技术有限公司 Method and bus for accessing Dynamic Random Access Memory (DRAM)
WO2017156747A1 (en) * 2016-03-17 2017-09-21 华为技术有限公司 Memory access method and computer system
CN110334032A (en) * 2019-07-02 2019-10-15 深圳市德名利电子有限公司 Flash disk operation method and system based on mixed size unit
CN111949213B (en) * 2020-07-28 2022-08-30 新华三半导体技术有限公司 Memory particle access control chip, memory particle access control system and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1437112A (en) * 2002-02-07 2003-08-20 旺宏电子股份有限公司 Circularly addressing method and system with effective memory
CN1612114A (en) * 2003-10-27 2005-05-04 惠普开发有限公司 Method for avoiding cache congestion by offsetting addresses while allocating memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1437112A (en) * 2002-02-07 2003-08-20 旺宏电子股份有限公司 Circularly addressing method and system with effective memory
CN1612114A (en) * 2003-10-27 2005-05-04 惠普开发有限公司 Method for avoiding cache congestion by offsetting addresses while allocating memory

Also Published As

Publication number Publication date
CN102043729A (en) 2011-05-04

Similar Documents

Publication Publication Date Title
CN102043729B (en) Memory management method and system of dynamic random access memory
US7133960B1 (en) Logical to physical address mapping of chip selects
KR101467623B1 (en) Independently controlled virtual memory devices in memory modules
CN105830059A (en) Fine pitch connector socket
CN101169772A (en) Method and apparatus for transmitting command and address signals
CN1941196B (en) Semiconductor memory device
US11113145B2 (en) Memory device, semiconductor device, and semiconductor system
CN105830022A (en) File access method and apparatus
CN105654983A (en) Memory device and memory system including the memory device
US8639891B2 (en) Method of operating data storage device and device thereof
KR20100100395A (en) Memory system having multiple processors
CN117524279A (en) SRAM with virtual-body architecture, and system and method including the same
CN103942161A (en) Redundancy elimination system and method for read-only cache and redundancy elimination method for cache
CN103377135B (en) Addressing method, Apparatus and system
WO2009079269A1 (en) Address translation between a memory controller and an external memory device
CN104391799A (en) Memory access control in a memory device
KR20100127317A (en) Integrated circuit with multiported memory supercell and data path switching circuitry
CN103019624B (en) Phase change memory device
CN106066833A (en) The method of access multiport memory module and related Memory Controller
CN1828767B (en) Memory address generating circuit and memory controller using the same
CN101719101B (en) Method and device for reading data of memory
US10522209B2 (en) Non-binary rank multiplication of memory module
CN1551232B (en) Semiconductor memory device for enhancing refresh operation in high speed data access
US20140181456A1 (en) Memory, memory controller, memory system including the memory and the memory controller, and operating method of the memory system
CN102541745A (en) Addressing method for data storage of microcontroller and microcontroller

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.