Skip to content

Commit d74d4e3

Browse files
Adding PARALLEL_MODE to be used by the simulator.
1 parent 2070db4 commit d74d4e3

File tree

4 files changed

+21
-2
lines changed

4 files changed

+21
-2
lines changed

.project

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
</dictionary>
3232
<dictionary>
3333
<key>org.eclipse.cdt.make.core.buildLocation</key>
34-
<value>${workspace_loc:/FTL/BAST}</value>
34+
<value>${workspace_loc:/FTL/Page}</value>
3535
</dictionary>
3636
<dictionary>
3737
<key>org.eclipse.cdt.make.core.cleanBuildTarget</key>

ssd.conf

+3
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,6 @@ FAST_LOG_PAGE_LIMIT 1024
9393

9494
# Number of pages allowed to be in DFTL Cached Mapping Table.
9595
CACHE_DFTL_LIMIT 512
96+
97+
# 0 -> Normal behavior, 1 -> Striping, 2 -> Logical address space parallelism
98+
PARALLELISM_MODE 0

ssd.h

+6-1
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,11 @@ extern const uint FAST_LOG_PAGE_LIMIT;
143143
*/
144144
extern const uint CACHE_DFTL_LIMIT;
145145

146+
/*
147+
* Parallelism mode
148+
*/
149+
extern const uint PARALLELISM_MODE = 0;
150+
146151
/*
147152
* Memory area to support pages with data.
148153
*/
@@ -284,7 +289,7 @@ class Stats
284289
long numGCWrite;
285290
long numGCErase;
286291

287-
// Wearleveling
292+
// Wear-leveling
288293
long numWLRead;
289294
long numWLWrite;
290295
long numWLErase;

ssd_config.cpp

+11
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,14 @@ uint FAST_LOG_PAGE_LIMIT = 4;
153153
*/
154154
uint CACHE_DFTL_LIMIT = 8;
155155

156+
/*
157+
* Parallelism mode.
158+
* 0 -> Normal
159+
* 1 -> Striping
160+
* 2 -> Logical Address Space Parallelism (LASP)
161+
*/
162+
uint PARALLELISM_MODE = 0;
163+
156164
void load_entry(char *name, double value, uint line_number) {
157165
/* cheap implementation - go through all possibilities and match entry */
158166
if (!strcmp(name, "RAM_READ_DELAY"))
@@ -205,6 +213,8 @@ void load_entry(char *name, double value, uint line_number) {
205213
FAST_LOG_PAGE_LIMIT = value;
206214
else if (!strcmp(name, "CACHE_DFTL_LIMIT"))
207215
CACHE_DFTL_LIMIT = value;
216+
else if (!strcmp(name, "PARALLELISM_MODE"))
217+
PARALLELISM_MODE = value;
208218
else
209219
fprintf(stderr, "Config file parsing error on line %u\n", line_number);
210220
return;
@@ -270,6 +280,7 @@ void print_config(FILE *stream) {
270280
fprintf(stream, "PAGE_ENABLE_DATA: %i\n", PAGE_ENABLE_DATA);
271281
fprintf(stream, "MAP_DIRECTORY_SIZE: %i\n", MAP_DIRECTORY_SIZE);
272282
fprintf(stream, "FTL_IMPLEMENTATION: %i\n", FTL_IMPLEMENTATION);
283+
fprintf(stream, "PARALLELISM_MODE: %i\n", PARALLELISM_MODE);
273284
return;
274285
}
275286

0 commit comments

Comments
 (0)