-
Notifications
You must be signed in to change notification settings - Fork 13
/
page.parameters
96 lines (96 loc) · 4.07 KB
/
page.parameters
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#parameter file
dram capacity = 67108864; #the unit is B
chip number[0] = 8;
chip number[1] = 8;
chip number[2] = 8;
chip number[3] = 8;
chip number[4] = 8;
chip number[5] = 8;
chip number[6] = 8;
chip number[7] = 8;
chip number[8] = 0;
chip number[9] = 0;
chip number[10] = 0;
chip number[11] = 0;
chip number[12] = 0;
chip number[13] = 0;
chip number[14] = 0;
chip number[15] = 0;
chip number[16] = 0;
chip number[17] = 0;
chip number[18] = 0;
channel number = 8; #number of channels
chip number = 64; #please don't change # of channels and chips if you are enabling RAID as part of code are hardcoded
die number = 1;
plane number = 1;
block number = 4096;
page number = 256;
subpage page = 8;
page capacity = 4096;
subpage capacity = 512;
t_PROG = 800000; #the unit is ns
t_DBSY = 50;
t_BERS = 2000000;
t_CLS = 12;
t_CLH = 5;
t_CS = 20;
t_CH = 5;
t_WP = 12;
t_ALS = 12;
t_ALH = 5;
t_DS = 12;
t_DH = 5;
t_WC = 25;
t_WH = 10;
t_ADL = 70;
t_R = 40000;
t_AR = 10;
t_CLR = 10;
t_RR = 20;
t_RP = 12;
t_WB = 100;
t_RC = 25;
t_REA = 30;
t_CEA = 45;
t_RHZ = 100;
t_CHZ = 30;
t_RHOH = 15;
t_RLOH = 5;
t_COH = 15;
t_REH = 10;
t_IR = 0;
t_RHW = 100;
t_WHR = 60;
t_RST = 5000;
erase limit = 10000; #record the erasure number of block
flash operating current = 25000.0; #unit is uA
flash supply voltage = 3.3; #voltage is 3.3V
dram active current = 125000; #active current of DRAM,unit is uA
dram standby current = 50000; #standby current of DRAM,unit is uA
dram refresh current = 5000; #refresh current of DRAM,unit is uA
dram voltage = 3.3; #working voltage of DRAM,unit is V
address mapping = 1; #mapping schemes,1:page;2:block;3:fast
wear leveling = 1; #record WL algorithm mode
gc = 1; #record garbage collection mode
overprovide = 0.10; #reserved area percentage, unavailable to users
gc threshold = 0.30; #GC operation begins when this threshold is reached.
buffer management = 1 #indicates whether there is buffer management or not
scheduling algorithm = 1; #1:FCFS recordscheduling algorithm mode, 1 means FCFS
gc hard threshold = 0.10;
allocation = 1; #0 for dynamic allocation, 1 for static allocation
static_allocation = 5; #record static allocation mode like all static allocation modes 0-5 in ICS2011 paper
dynamic_allocation = 0; #record dynamic allocation mode, 0 for all dynamic, 1 for fixed channel and dynamic package, die, plane
advanced command = 2; #advanced command indicator, 0 for no advanced command, bin number 00001 for random, 00010 for copyback, 00100 for two-plane-program, 01000 for interleave, 10000 for two-plane-read, 11111 for using all;
advanced command priority = 0; #0 for interleave is prior to two-plane, 1 for two-plane is prior to interleave
greed CB command = 1; #1 for using copyback command greedily, 0 for not
greed MPW command = 0; #1 for using multi-plane write greedily, 0 for not
aged = 0; #1 for making SSD aged, 0 for keeping SSD non-aged
aged ratio = 0.7; #if we need to make SSD aged, set the aged ratio in advance
proactive read = 0; #read N+1, return when N completes (for sequential requests)
rotating gc = 0;
dynamic rotating gc = 0;
nonblocking gc = 0;
adaptive read = 0; #read N, send N+1 requests and drop 1 request based on GC status (this also enables RAID5)
raid = 0; #enable modified RAID5 and use modified buffer management (in which case buffer node is a RAID group instead of a single page)
tt pread = 0; #whether convert partial read to a RAID group read
buffer background flush = 1;