CN106057236B - A kind of phase transition storage method for writing data - Google Patents
A kind of phase transition storage method for writing data Download PDFInfo
- Publication number
- CN106057236B CN106057236B CN201610348925.4A CN201610348925A CN106057236B CN 106057236 B CN106057236 B CN 106057236B CN 201610348925 A CN201610348925 A CN 201610348925A CN 106057236 B CN106057236 B CN 106057236B
- Authority
- CN
- China
- Prior art keywords
- data
- write
- written
- queue
- writing
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
A kind of phase transition storage method for writing data, belongs to the date storage method of memory, solves not utilize energy consumption budget problem existing for existing phase transition storage method for writing data maximumlly, to promote write performance and the service life of phase transition storage (PCM).The present invention includes reading data step, analysis data step, write-in data step.The present invention writes the delay of " 0 " and one writing and the asymmetry of energy consumption for PCM, make full use of the energy consumption budget (power budget) of PCM, by the number for recording each data cell " 0 " and " 1 " to be modified respectively, each data cell write sequence is rescheduled, maximize the utilization to energy consumption budget, the write delay for further shortening PCM, to promote write performance and service life.
Description
Technical field
The invention belongs to the date storage methods of memory, and in particular to a kind of phase transition storage method for writing data is fitted
For building efficient phase transition storage storage system, the enterprise of the Nonvolatile memory system for requiring high-performance, low latency
Industry, individual or research institution have important use value.
Background technology
Phase transition storage (PCM, Phase Change Memory) be it is a kind of by chalcogenide material (GST,
Ge2Sb2Te5) constitute novel nonvolatile storage, the dielectric material for constituting phase transition storage under certain condition can be in amorphous
Changing between state and crystalline state, amorphous state and crystalline state in the process show different resistance characteristics and optical characteristics,
Therefore, " 0 " and " 1 " can be indicated respectively using amorphous state and crystalline state to store data.
Fig. 1 illustrates the storage architecture of PCM, and as an example, phase change memory system arranges (rank) group by 2 storages
At comprising N number of memory bank (bank) in each storage row (rank), each memory bank (bank) is by 4 chip (chips) groups
At each chip includes then multiple memory cell arrays (cell block), and each memory cell array includes that multiple storages are single
Member, each storage unit store a data;The width of data/address bus determines the number of chips of one bank of composition, due to electricity
It is that storage unit persistently provides big transient current, therefore a chip can be written in parallel to that the noise of source line, which can limit charge pump,
Digit be it is restricted, the digit that commonly referred to as a chip can be written in parallel to be chip r/w cell size, claim one deposit
The digit that all chips can be written in parallel in storage body (bank) is the size of a PCM r/w cell, and the size of PCM r/w cells is used
The byte number that a bank can be written indicates.
If PCM r/w cell sizes are N, chip r/w cell size is K, and cache lines (cache line) size is M,
Therefore complete this cache line size write-in need to the same PCM r/w cells write-in [M/N] it is secondary.In general, chip r/w cell is big
Small K is 16, and each chip package is at 16 BITBUS network interfaces, and data/address bus is 64, therefore needs 4 chips to carry out altogether
Data-bus width is aligned.One cache line size is 64 bytes, per byte 8;The data of cache lines once can be with concurrent write
The byte number for entering a memory bank (bank) is the byte of (K × (64/16))=64=8.
Cache lines can be respectively stored in the L (L=2 in memory bank (bank) included first1) chip chip in delay
In depositing, the complete cache lines that a size is M share L chip, data volume Q=M/ (8L) word of each chip
Section, this Q byte data are needed to chip r/w cell write-in Q × 8/K time, every time one data cell (Data unit) of write-in;It waits for
The initial address of write-in cache lines is stored in caching row address register.
For 4 chip r/w cells that PCM r/w cells include, a size is the complete cache lines point of 64 bytes
The data volume Q for carrying on a shoulder pole each chip is 16 bytes, this 16 byte data is needed to chip r/w cell write-in Q/K (16 × 8/16=
8) secondary, a data cell (Data unit) (2 byte) is written every time.
Phase transition storage has the advantage that:Non-volatile, position can change, read latency is short, read low energy consumption, is not necessarily to refreshing etc..
In addition, PCM energy consumptions are more for comparison dynamic random access memory (DRAM, Dynamic Random Access Memory)
It is low, while its non-volatile and relatively high storage density is but also it becomes ideal memory substitute.PCM is also defective,
Especially write performance, write power consumption and life problems, this promote researcher put forward various plans with approach with make up PCM itself
Defect.
The noise of power cord can limit charge pump and persistently provide big transient current for storage unit, therefore can be with concurrent write
The digit for entering chip is limited to PCM r/w cell sizes (constant N).And write a cache lines need it is multiple continuously perform write list
Member, this is greatly lowered whole write performance.In addition, there are one important features for phase transition storage:Write " 0 " and one writing
Asymmetry in terms of being delayed with energy consumption, as shown in Fig. 2, one writing pulse is about writing the clock cycle needed for " 0 " pulse
It is octuple;It writes twice that the current strength needed for " 0 " pulse is about one writing pulse, writes " 0 " pulse and compare one writing pulse delay
Shorter but required electric current bigger, this asymmetry significantly limit the performance of PCM write operations.Traditional PCM system is being write
The case where request scheduling aspect is very conservative, and what is considered is current needs maximum and time demand longest, that is, by write-in
Position be all " 0 " and write-in position be all " 1 " consider.When a data block for being mixed with " 0 " and " 1 " is written, due to writing
Difference of " 0 " one writing in terms of the response time makes unnecessary waiting and causes to write bandwidth and be not fully utilized, and due to right
The underutilization of energy consumption budget (power budget) and waste concurrency.
In the present invention, Data flipping refers to that each binary digit is converted to the binary system opposite with former binary value in former data
Value, i.e., " 1 " is converted to " 0 ", " 0 " is converted to " 1 ".
Invention content
The present invention provides a kind of phase transition storage method for writing data, solves existing phase transition storage method for writing data and deposits
Not maximumlly utilize energy consumption budget problem, to promote write performance and the service life of phase transition storage (PCM).
A kind of phase transition storage method for writing data provided by the present invention, including read data step, analysis data step
Suddenly data step, is written, it is characterised in that:
(1) data step is read, includes following sub-steps to each chip in memory bank to be written (bank):
(1.1) value for caching row address register is set to the initial address of cache lines to be written;By read-out counter
Value RD be set as 0;
(1.2) legacy data section { F, D that the offset address cached in chip is (K+1) × RD are read0And put it into reading
In caching, legacy data section { F, D0Size be K+1, for the size of chip r/w cell after extension;Wherein flip bit F is 1,
Old data units D0It is K;
(1.3) the new data element D that offset address is K × RD is taken out in cache lines to be written1, by new data element
D1With old data units D0It is compared by turn, judges to have whether differentiated digit is more than K/2, be then rotor step (1.4);
Otherwise rotor step (1.5);
(1.4) by new data element D1Overturning is D2, " 1 " is assigned to flip bit F, by D2It is assigned to data sheet to be written
First D constitutes data segment to be written { F, D }, rotor step (1.6);D1Overturning is D2When, D1In each binary zero position become " 1 "
Position, " 1 " position becomes " 0 " position;
(1.5) new data element D1It remains unchanged, " 0 " is assigned to flip bit F, by D1It is assigned to data cell to be written
D constitutes data segment to be written { F, D }, rotor step (1.6);
(1.6) it is written into data segment { F, D }, in being saved in offset address to be cached in the corresponding chips of (K+1) × RD,
It is recorded relative to legacy data section { F, D0Modification " 1 " and " 0 " number, be stored in corresponding one writing array and write " 0 " respectively
In array;
The one writing array respectively includes M/ (L × K) item record with " 0 " array is write, every record in one writing array
It is made of serial number and data, serial number is corresponding with the offset address cached in chip, and data are that data segment to be written { F, D } is opposite
In legacy data section { F, D0Modification " 1 " number;It writes every in " 0 " array record to be made of serial number and data, serial number
Corresponding with the offset address cached in chip, data are data segment to be written { F, D } relative to legacy data section { F, D0Modification
The number of " 0 ";M is the digit of cache lines, and K is the size of chip r/w cell, and L is number of chips in a memory bank;The dimension of K
For position;
(1.7) it assigns the value of RD+1 to RD, judges whether RD=M/ (L × K), be to go to step (2), otherwise rotor step
(1.2);
Before data are written to certain certain chip r/w cell, the legacy data in the chip r/w cell, and profit are first read out
Bit number to be written is minimized with the method for setting flip bit;
(2) data step, including following sub-steps are analyzed:
(2.1) one writing queue is established respectively and writes " 0 " queue, one writing queue and to write " 0 " queue be first in first out team
Row, one writing queue and write every of " 0 " queue and record and constituted by executing number, data cell serial number and data;Execute number
The serial number of corresponding write-in execution sequence, data cell serial number is corresponding with the offset address cached in chip, and data are number to be written
According to location contents, multiple data cells can have it is identical execute number, indicate that these data cells should be in the same execution
It is sequentially written in chip;
Each item record in global energy consumption budget array WU is initialized as 0, the overall situation energy consumption budget array WU includes M/
(L × K) item records, and every record is made of execution number and its corresponding write-in chip energy consumption, is gone to step (2.2);
(2.2) it to one writing array, is solved by MaxPB algorithms, determines that the data cell to be written of parallel one writing executes
Sequentially, one writing queue, rotor step (2.3) are formed;
(2.3) it to writing " 0 " array, is solved by MaxPB algorithms, determines that the data cell to be written of concurrent write " 0 " executes
Sequentially, it is formed and writes " 0 " queue, gone to step (3);
Analysis data step will write " 0 " and one writing and separate, and make full use of energy consumption budget to determine by MaxPB algorithms and adjust
Degree scheme;
(3) one writing step, including following sub-steps:
(3.1) the value start of setting write-in initial address register, size are the position (j+m+n), and value is for cache lines
The value q of write sequence counter is set as 1 by the position (j+m+n) after the register of location;J=0,1,2 or 3, m=9~16, n=1~
5;
(3.2) judge whether one writing queue is empty, is to go to step (4);Otherwise sub-step (3.3) is carried out;
(3.3) each item record for executing that number is q is taken out from one writing queue, according to their corresponding data cell sequences
Number corresponding data cell to be written of selection, carries out sub-step (3.4);
(3.4) it is written into data cell of the data cell with offset address in read buffer for corresponding data cell serial number
XOR logic operation is carried out, XOR logic operation result is obtained, carries out sub-step (3.5);
(3.5) judge whether that the XOR logic operation result and the corresponding positions of data cell to be written are " 1 ", be then
It is in the storage unit of (start+ data cell serial numbers+p), otherwise without any behaviour by " 1 " write storage unit address
Make;Sub-step (3.6) is carried out, p is the corresponding positions of data cell to be written;
(3.6) value of q+1 is assigned to the value q of write sequence counter, rotor step (3.2);
(4) " 0 " step, including following sub-steps are write:
(4.1) judge to write whether " 0 " queue is empty, be that then write operation is completed;Otherwise sub-step (4.2) is carried out;
(4.2) from each item record that taking-up execution number is q in " 0 " queue is write, according to their corresponding data cell sequences
Number corresponding data cell to be written of selection, carries out sub-step (4.3);
(4.3) it is written into data cell of the data cell with offset address in read buffer for corresponding data cell serial number
XOR logic operation is carried out, XOR logic operation result is obtained, carries out sub-step (4.4);
(4.4) judge whether that the XOR logic operation result corresponding positions are the corresponding positions of " 1 " and data cell to be written
For " 0 ", in the storage unit of (start+ data cell serial numbers+p), otherwise not it is then by " 0 " write storage unit address to be
Carry out any operation;Carry out sub-step (4.5);
(4.5) value of q+1 is assigned to the value q of write sequence counter, rotor step (4.1).
In the sub-step (2.2) of the analysis data step, the MaxPB algorithms include following processes:
The maximum energy consumption budget PBmax that chip r/w cell allows is arranged in (2A), and PBmax is determined by Chip scale;It will execute
The value w of sequence counter is set to 1;
(2B) calculates the power consumption values of each data cell to be written, and is put into power consumption values array IN;By data cell
The value i of processing counter is set to 1, carries out process (2C);
The power consumption values array IN includes M/ (L × K) item record, and every record is made of serial number and data, serial number and
The offset address cached in chip corresponds to, and data are the power consumption values of data cell to be written;
The power consumption values of the data cell to be written are that the data of respective record in one writing array in sub-step (1.6) (are repaiied
The number of " 1 " that changes) it is multiplied by energy consumption needed for one writing;Wherein, energy consumption needed for one writing is determined by Chip scale;
(2C) for the power consumption values array IN, the size of data recorded according to every carries out descending row to all records
Sequence, and each item is recorded according to pending queue is sequentially put into after sequence, turn over journey (2D);
(2D) judges whether pending queue is empty, is to carry out process (2E);Otherwise journey (2F) is turned over;
(2E) forms one writing queue, and analysis scheduling is completed;
(2F) takes out a record from pending queue head, carries out process (2G);
(2G) traverses before WU arrays w, judges whether (IN [i]+WU [w]) < PBmax, is to turn over journey (2H);Otherwise
Turn over journey (2I);In above-mentioned judgement formula, IN [i] indicates that the data of i-th record in power consumption values array IN, WU [w] indicate global
The write-in chip energy consumption that number is w is executed in energy consumption budget array WU;
Judge in IN that the serial number of i-th record corresponds to data cell to be written whether can be without prejudice to chip maximum energy
In the case of consumption budget chip is sequentially written in the execution for executing number w;
(2H) using w as execute number, using in IN i-th record serial number as data cell serial number, by i-th in IN
The serial number of record corresponds to data cell to be written as data, constitutes a record, is added to one writing queue tail of the queue;
Meanwhile assigning the value of WU [w]+IN [i] to WU [w], it assigns the value of i+1 to i, turns over journey (2D);
(2I) assigns the value of w+1 to w, turns over journey (2H).
In the sub-step (2.3) of the analysis data step, the MaxPB algorithms include following processes:
The maximum energy consumption budget PBmax that chip r/w cell allows is arranged in (2A), and PBmax is determined by Chip scale;By w+1's
Value is assigned to the value w for executing sequence counter;
(2B) calculates the power consumption values of each data cell to be written, and is put into power consumption values array IN;By data cell
The value i of processing counter is set to 1, carries out process (2C);
The power consumption values array IN includes M/ (L × K) item record, and every record is made of serial number and data, serial number and
The offset address cached in chip corresponds to, and data are the power consumption values of data cell to be written;
The power consumption values of the data cell to be written (are repaiied to write the data of respective record in " 0 " array in sub-step (1.6)
The number of " 0 " that changes) it is multiplied by and writes energy consumption needed for " 0 ";Wherein, energy consumption needed for " 0 " is write to be determined by Chip scale;
(2C) for the power consumption values array IN, the size of data recorded according to every carries out descending row to all records
Sequence, and each item is recorded according to pending queue is sequentially put into after sequence, turn over journey (2D);
(2D) judges whether pending queue is empty, is to carry out process (2E);Otherwise journey (2F) is turned over;
" 0 " queue is write in (2E) formation, and analysis scheduling is completed;
(2F) takes out a record from pending queue head, carries out process (2G);
(2G) traverses before WU arrays w, judges whether (IN [i]+WU [w]) < PBmax, is to turn over journey (2H);Otherwise
Turn over journey (2I);In above-mentioned judgement formula, IN [i] indicates that the data of i-th record in power consumption values array IN, WU [w] indicate global
The write-in chip energy consumption that number is w is executed in energy consumption budget array WU;
(2H) using w as execute number, using in IN i-th record serial number as data cell serial number, by i-th in IN
The serial number of record corresponds to data cell to be written as data, constitutes a record, is added to and writes " 0 " queue tail of the queue;
Meanwhile assigning the value of WU [w]+IN [i] to WU [w], it assigns the value of i+1 to i, turns over journey (2D);
(2I) assigns the value of w+1 to w, turns over journey (2H).
On the basis of existing chip data access, the present invention uses a kind of phase change memory chip comprising J storage
It is cell array (Cell Block), J ranks decoder, J write driver, caching in chip, caching row address register, more
Road selector (DMUX) and data output caching (DOUT), J memory cell array are separately connected J ranks decoder, J row
Column decoder is separately connected J write driver, and caching is sequentially connected in series with multiple selector and data output caching in chip, J=
2j, j=0,1,2 or 3;The memory cell matrix that each memory cell array is 2m rows, 2n is arranged, including 2m×2nA storage is single
Member;M=9~16, n=1~5, a PCM chip size are 2j×2m×2nPosition, memory unit address length are the position (j+m+n);
J ranks decoder is used for the row and column of select storage unit array;
The access of storage unit is carried out according to given memory unit address, gives j+m+n memory unit addresses, root
The memory cell array judged where storage unit according to first j, row number where judging storage unit according to intermediate m, according to
The last positions n judge that column number where storage unit, row number and column number determine a storage unit in storage unit jointly
Position in array;
Caching is M/L in existing chip, and multiple selector and data the output caching of existing chip are respectively K, are read slow
Save as K;In order to support Data flipping to operate, data path is extended:Data output caching and multiple selector expand from K
It opens up K+1 (adding one " flip bit ");In original chip caching increase (1/K) × M/L, expand to (1+1/K) ×
M/L, the multiple selector, data output caching are expanded into the position (K+1), and increase the read buffer of the position (K+1);
The present invention is realized according to said chip reads data, analysis data and write-in data,
It reads data and passes through memory cell array, ranks decoder, write driver, caching in chip, more successively from top to bottom
Road selector, read through model are exported up to data in caching;Data are write then to cache by data output successively from the bottom up, is more
Caching, parallel writing module, write driver and ranks decoder in road selector, chip are until memory cell array.It needs to note
Meaning, the level of addition can't influence the path of read operation.
Wherein, read through model executes all operations that the present invention reads data step;Parallel writing module executes present invention analysis
Data step, all operations that data step is written.
It is write compared with scheme with existing PCM, the invention has the advantages that:
(1) present invention can reduce total bit to be written." reading data, analysis data and write-in data " operation is utilized to replace
Original write operation is changed to avoid the write operation (being write on " 0 " " 0 ") of some extra repetitions, and by the way that one " flip bit " is arranged
The maximum number of digits changed will be needed to be reduced in a data cell and be not more than (K-1)/2, and then phase transition storage can be promoted
Service life.
(2) present invention can reduce write delay.The corresponding of " 0 " and one writing is write using a storage unit in phase transition storage
Time and energy consumption asymmetry separately handle write " 0 " and the one writing of write operation, have been carried out to conservative conventional write scheme excellent
Change, writes bandwidth to be promoted, reduce write delay.
(3) present invention can make full use of concurrency, by being carried out to data cell to be written in analysis data step
To writing the sequence of " 0 " and one writing, in the dispatching r/w cell of energy consumption budget limit, the concurrency of write operation is taken full advantage of;And
Energy consumption budget is maximally utilized, write delay is significantly reduced, promotes PCM write performances and service life.
The present invention writes the delay of " 0 " and one writing and the asymmetry of energy consumption for PCM, makes full use of the energy consumption budget of PCM
(power budget), by recording the number of each data cell " 0 " and " 1 " to be modified respectively, to each data
Unit write sequence reschedules, and maximizes the utilization to energy consumption budget, further shortens the write delay of PCM, is write to be promoted
Performance and service life.
Description of the drawings
Fig. 1 is the storage architecture schematic diagram of PCM;
Fig. 2 is asymmetry schematic diagram of the PCM write operations in terms of being delayed with energy consumption;
Fig. 3 is chip schematic diagram of the present invention;
Fig. 4 is flow diagram of the present invention;
Fig. 5 is to read data step flow diagram;
Fig. 6 analyzes data step flow diagram;
Fig. 7 is write-in data step flow diagram;
Fig. 8 is the MaxPB algorithm flow block diagrams to form one writing queue.
Specific implementation mode
Below in conjunction with drawings and examples, the present invention is further described.
As shown in figure 3, chip embodiment of the present invention comprising memory cell array #0~storage unit battle array
Arrange #4,4 ranks decoders, 4 write drivers, caching in chip, caching row address register, multiple selector (DMUX) and
Data output caching (DOUT), 4 memory cell arrays are separately connected 4 ranks decoders, and 4 ranks decoders are separately connected
4 write drivers, the interior caching of chip are sequentially connected in series with multiple selector and data output caching, each memory cell array is
29Row, 24The memory cell matrix of row, including 29×24A storage unit;One PCM chip size is 22×29×24Position, storage
Element address length is the position (2+9+4);4 ranks decoders are used for the row and column of select storage unit array;
The access of storage unit is carried out according to given memory unit address, gives 2+9+4 memory unit addresses, root
The memory cell array judged where storage unit according to first 2 judges storage unit place row number according to intermediate 9, according to
Last 4 judge that column number where storage unit, row number and column number determine a storage unit in storage unit jointly
Position in array;
Caching is 128 in existing chip, and multiple selector and data the output caching of existing chip are respectively 16, are read slow
Save as 16;In order to support Data flipping to operate, data path is extended:Data output caching and multiple selector are from 16
It expands to 17 (adding one " flip bit ");Caching increases by 8, expands to 136 in original chip, the multi-path choice
Device, data output caching are expanded into 17, increase by one 17 read buffers.
Fig. 4 is flow diagram of the present invention;
Fig. 5 is to read data step flow diagram;
Fig. 6 analyzes data step flow diagram;
Fig. 7 is write-in data step flow diagram;
Fig. 8 is the MaxPB algorithm flow block diagrams to form one writing queue;The MaxPB algorithm flow frames of " 0 " queue are write in formation
Figure is similar therewith, repeats no more.
Claims (3)
1. a kind of phase transition storage method for writing data, including data step, analysis data step, write-in data step are read,
It is characterized in that:
(1) data step is read, includes following sub-steps to each chip in memory bank to be written:
(1.1) value for caching row address register is set to the initial address of cache lines to be written;By the value of read-out counter
RD is set as 0;
(1.2) legacy data section { F, D that the offset address cached in chip is (K+1) × RD are read0And put it into read buffer
In, legacy data section { F, D0Size be K+1, for the size of chip r/w cell after extension;Wherein flip bit F is 1, old number
According to cells D0It is K;
(1.3) the new data element D that offset address is K × RD is taken out in cache lines to be written1, by new data element D1With
Old data units D0It is compared by turn, judges to have whether differentiated digit is more than K/2, be then rotor step (1.4);Otherwise
Rotor step (1.5);
(1.4) by new data element D1Overturning is D2, " 1 " is assigned to flip bit F, by D2It is assigned to data cell D to be written,
Constitute data segment to be written { F, D }, rotor step (1.6);D1Overturning is D2When, D1In each binary zero position become " 1 " position,
" 1 " position becomes " 0 " position;
(1.5) new data element D1It remains unchanged, " 0 " is assigned to flip bit F, by D1It is assigned to data cell D to be written, structure
At data segment to be written { F, D }, rotor step (1.6);
(1.6) it is written into data segment { F, D }, it is record in the corresponding chips of (K+1) × RD in caching to be saved in offset address
It is relative to legacy data section { F, D0Modification " 1 " and " 0 " number, be stored in corresponding one writing array and write " 0 " array respectively
In;
The one writing array and write " 0 " array and respectively include M/ (L × K) item record, every record in one writing array by
Serial number and data are constituted, and serial number is corresponding with the offset address cached in chip, and data are data segment to be written { F, D } relative to old
Data segment { F, D0Modification " 1 " number;It writes every in " 0 " array record to be made of serial number and data, serial number and core
The offset address cached in piece corresponds to, and data are data segment to be written { F, D } relative to legacy data section { F, D0Modification " 0 "
Number;M is the digit of cache lines, and K is the size of chip r/w cell, and L is number of chips in a memory bank;The dimension of K is position;
(1.7) it assigns the value of RD+1 to RD, judges whether RD=M/ (L × K), be to go to step (2), otherwise rotor step
(1.2);
(2) data step, including following sub-steps are analyzed:
(2.1) one writing queue is established respectively and writes " 0 " queue, and one writing queue and to write " 0 " queue be fifo queue is write
It " 1 " queue and writes every of " 0 " queue record and is constituted by executing number, data cell serial number and data;Number is executed to correspond to
The serial number of execution sequence is written, data cell serial number is corresponding with the offset address cached in chip, and data are data sheet to be written
First content, multiple data cells can have it is identical execute number, indicate that these data cells should execute sequence same
Chip is written;
Each item record in global energy consumption budget array WU is initialized as 0, the overall situation energy consumption budget array WU include M/ (L ×
K) item records, and every record is made of execution number and its corresponding write-in chip energy consumption, is gone to step (2.2);
(2.2) it to one writing array, is solved by MaxPB algorithms, determines that the data cell to be written of parallel one writing executes sequence,
Form one writing queue, rotor step (2.3);
(2.3) it to writing " 0 " array, is solved by MaxPB algorithms, determines that the data cell to be written of concurrent write " 0 " executes sequence,
" 0 " queue is write in formation, goes to step (3);
(3) one writing step, including following sub-steps:
(3.1) the value start of setting write-in initial address register, size are the position (j+m+n), and value is that caching row address is posted
The value q of write sequence counter is set as 1 by the position (j+m+n) after storage;J=0,1,2 or 3, m=9~16, n=1~5;
(3.2) judge whether one writing queue is empty, is to go to step (4);Otherwise sub-step (3.3) is carried out;
(3.3) each item record for executing that number is q is taken out from one writing queue, is selected according to their corresponding data cell serial numbers
Corresponding data cell to be written is selected, sub-step (3.4) is carried out;
(3.4) it is written into data cell and is carried out with the data cell that offset address in read buffer is corresponding data cell serial number
XOR logic operation obtains XOR logic operation result, carries out sub-step (3.5);
(3.5) judge whether that the XOR logic operation result and the corresponding positions of data cell to be written are " 1 ", then will be
" 1 " write storage unit address is in the storage unit of (start+ data cell serial numbers+p), otherwise without any operation;
Sub-step (3.6) is carried out, p is the corresponding positions of data cell to be written;
(3.6) value of q+1 is assigned to the value q of write sequence counter, rotor step (3.2);
(4) " 0 " step, including following sub-steps are write:
(4.1) judge to write whether " 0 " queue is empty, be that then write operation is completed;Otherwise sub-step (4.2) is carried out;
(4.2) it from each item record that taking-up execution number is q in " 0 " queue is write, is selected according to their corresponding data cell serial numbers
Corresponding data cell to be written is selected, sub-step (4.3) is carried out;
(4.3) it is written into data cell and is carried out with the data cell that offset address in read buffer is corresponding data cell serial number
XOR logic operation obtains XOR logic operation result, carries out sub-step (4.4);
(4.4) judge whether that the XOR logic operation result corresponding positions are " 1 " and the corresponding positions of data cell to be written are
" 0 ", be then by " 0 " write storage unit address be (start+ data cell serial numbers+p) storage unit in, otherwise not into
Any operation of row;Carry out sub-step (4.5);
(4.5) value of q+1 is assigned to the value q of write sequence counter, rotor step (4.1).
2. phase transition storage method for writing data as described in claim 1, it is characterised in that:
In the sub-step (2.2) of the analysis data step, the MaxPB algorithms include following processes:
The maximum energy consumption budget PBmax that chip r/w cell allows is arranged in (2A), and PBmax is determined by Chip scale;By execution sequence
The value w of counter is set to 1;
(2B) calculates the power consumption values of each data cell to be written, and is put into power consumption values array IN;Data cell is handled
The value i of counter is set to 1, carries out process (2C);
The power consumption values array IN includes M/ (L × K) item record, and every record is made of serial number and data, serial number and chip
The offset address of interior caching corresponds to, and data are the power consumption values of data cell to be written;
The power consumption values of the data cell to be written are multiplied by for the data of respective record in one writing array in sub-step (1.6) to be write
Energy consumption needed for " 1 ";Wherein, energy consumption needed for one writing is determined by Chip scale;
(2C) for the power consumption values array IN, the size of data recorded according to every carries out descending sort to all records, and
Each item is recorded according to pending queue is sequentially put into after sequence, journey (2D) is turned over;
(2D) judges whether pending queue is empty, is to carry out process (2E);Otherwise journey (2F) is turned over;
(2E) forms one writing queue, and analysis scheduling is completed;
(2F) takes out a record from pending queue head, carries out process (2G);
(2G) traverses before WU arrays w, judges whether (IN [i]+WU [w]) < PBmax, is to turn over journey (2H);Otherwise it turns over
Journey (2I);In above-mentioned judgement formula, IN [i] indicates that the data of i-th record in power consumption values array IN, WU [w] indicate global energy consumption
The write-in chip energy consumption that number is w is executed in budget array WU;
(2H) is recorded using w as number, the serial number for recording i-th in IN is executed as data cell serial number, by i-th in IN
Serial number correspond to data cell to be written as data, constitute a record, be added to one writing queue tail of the queue;
Meanwhile assigning the value of WU [w]+IN [i] to WU [w], it assigns the value of i+1 to i, turns over journey (2D);
(2I) assigns the value of W+1 to w, turns over journey (2H).
3. phase transition storage method for writing data as described in claim 1, it is characterised in that:
In the sub-step (2.3) of the analysis data step, the MaxPB algorithms include following processes:
The maximum energy consumption budget PBmax that chip r/w cell allows is arranged in (2A), and PBmax is determined by Chip scale;The value of W+1 is assigned
It is worth to the value w for executing sequence counter;
(2B) calculates the power consumption values of each data cell to be written, and is put into power consumption values array IN;Data cell is handled
The value i of counter is set to 1, carries out process (2C);
The power consumption values array IN includes M/ (L × K) item record, and every record is made of serial number and data, serial number and chip
The offset address of interior caching corresponds to, and data are the power consumption values of data cell to be written;
The power consumption values of the data cell to be written are to write the data of respective record in " 0 " array in sub-step (1.6) to be multiplied by and write
Energy consumption needed for " 0 ";Wherein, energy consumption needed for " 0 " is write to be determined by Chip scale;
(2C) for the power consumption values array IN, the size of data recorded according to every carries out descending sort to all records, and
Each item is recorded according to pending queue is sequentially put into after sequence, journey (2D) is turned over;
(2D) judges whether pending queue is empty, is to carry out process (2E);Otherwise journey (2F) is turned over;
" 0 " queue is write in (2E) formation, and analysis scheduling is completed;
(2F) takes out a record from pending queue head, carries out process (2G);
(2G) traverses before WU arrays w, judges whether (IN [i]+WU [w]) < PBmax, is to turn over journey (2H);Otherwise it turns over
Journey (2I);In above-mentioned judgement formula, IN [i] indicates that the data of i-th record in power consumption values array IN, WU [w] indicate global energy consumption
The write-in chip energy consumption that number is w is executed in budget array WU;
(2H) is recorded using w as number, the serial number for recording i-th in IN is executed as data cell serial number, by i-th in IN
Serial number correspond to data cell to be written as data, constitute a record, be added to and write " 0 " queue tail of the queue;
Meanwhile assigning the value of WU [w]+IN [i] to WU [w], it assigns the value of i+1 to i, turns over journey (2D);(2I) assigns the value of w+1
W is given, journey (2H) is turned over.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610348925.4A CN106057236B (en) | 2016-05-24 | 2016-05-24 | A kind of phase transition storage method for writing data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610348925.4A CN106057236B (en) | 2016-05-24 | 2016-05-24 | A kind of phase transition storage method for writing data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106057236A CN106057236A (en) | 2016-10-26 |
CN106057236B true CN106057236B (en) | 2018-10-16 |
Family
ID=57175450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610348925.4A Active CN106057236B (en) | 2016-05-24 | 2016-05-24 | A kind of phase transition storage method for writing data |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106057236B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180107351A (en) * | 2017-03-16 | 2018-10-02 | 에스케이하이닉스 주식회사 | Apparatus of calculating a power consumption in phase change memory, phase change memory system including the apparatus, and method of calculating power consumption in the phase change memory |
CN107195321B (en) * | 2017-05-15 | 2020-05-19 | 华中科技大学 | Method and system for optimizing performance of resistive random access memory with cross switch structure |
CN112068775A (en) * | 2020-09-03 | 2020-12-11 | 南昌航空大学 | Optimization method for improving PCM (pulse code modulation) writing performance |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104282333A (en) * | 2013-07-12 | 2015-01-14 | 华为技术有限公司 | Data inversion based storage method and memory |
CN104794061A (en) * | 2015-04-24 | 2015-07-22 | 杭州电子科技大学 | Wear-leveling method for phase change storage system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010076834A1 (en) * | 2008-12-31 | 2010-07-08 | Ferdinando Bedeschi | Reliable set operation for phase-change memory cell |
-
2016
- 2016-05-24 CN CN201610348925.4A patent/CN106057236B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104282333A (en) * | 2013-07-12 | 2015-01-14 | 华为技术有限公司 | Data inversion based storage method and memory |
CN104794061A (en) * | 2015-04-24 | 2015-07-22 | 杭州电子科技大学 | Wear-leveling method for phase change storage system |
Also Published As
Publication number | Publication date |
---|---|
CN106057236A (en) | 2016-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2867897B1 (en) | Multi-level cell memory | |
CN101308697B (en) | FIFO burst buffer with large capacity based on SDRAM and data storage method | |
CN105103235B (en) | Non-volatile multi-level cell memory with decoupled bits for higher performance and energy efficiency | |
CN106057236B (en) | A kind of phase transition storage method for writing data | |
TW201109920A (en) | Methods, memory controllers and devices for wear leveling a memory | |
US11010061B2 (en) | Scalable bandwidth non-volatile memory | |
CN102456415B (en) | Semiconductor storage unit and method of operating thereof | |
CN101154433A (en) | Memory systems and methods of operating the memory systems | |
US20110055486A1 (en) | Resistive memory devices and related methods of operation | |
US20120137058A1 (en) | Semiconductor device | |
US11775185B2 (en) | Power budget arbitration for multiple concurrent access operations in a memory device | |
CN103871452B (en) | Memorizer and method using front end precharge | |
JP2006040497A (en) | Semiconductor memory device, nonvolatile semiconductor memory device | |
KR101293224B1 (en) | Data writing method, memory, and memory writing system | |
CN107195321B (en) | Method and system for optimizing performance of resistive random access memory with cross switch structure | |
US10592163B2 (en) | Controlling write pulse width to non-volatile memory based on free space of a storage | |
US11614884B2 (en) | Memory device with microbumps to transmit data for a machine learning operation | |
CN103839580A (en) | Writing acceleration method and system for phase change memory | |
CN100514499C (en) | FLASH internal unit testing method | |
US10185510B2 (en) | Bank interleaving controller and semiconductor device including the same | |
CN105378849A (en) | Nonvolatile semiconductor storage device and method for rewriting same | |
IT201800000581A1 (en) | METHOD OF MANAGING REAL-TIME ACCESS TO A DIFFERENTIAL MEMORY, DIFFERENTIAL MEMORY AND ELECTRONIC SYSTEM INCLUDING THE DIFFERENTIAL MEMORY | |
US20230161718A1 (en) | Input/output sequencer instruction set processing | |
US20230305616A1 (en) | Peak power management with data window reservation | |
US11481299B2 (en) | Transmission of data for a machine learning operation using different microbumps |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |