Comments (4)
Thanks for replying. Thats exactly what I was thinking of doing! A conservative value that allows for a bunch of bad blocks in the future :-)
from dhara.
Hello there, some updates:
We manage to isolate the issue to dhara_journal_capacity() in particular
const dhara_block_t max_bad = j->bb_last > j->bb_current ?
j->bb_last : j->bb_current;
For some reasons max_bad is 32 after the first format and then it goes to 0 after we do some writes and we experience the issue afore mentioned.
from dhara.
Just hit a very similar issue to this myself....my disk appeared to get larger after writing some data.
Following your hint above, it seems this behaviour may be normal.
When initialising a map we see a call flow dhara_map_init -> dhara_journal_init -> reset_journal
Inside there we prepare the last and current bad blocks:
/* We don't yet have a bad block estimate, so make a
* conservative guess.
*/
j->epoch = 0;
j->bb_last = j->nand->num_blocks >> 6;
j->bb_current = 0;
Looks like it may make a guess until it knows. which makes me think as well as going up, it could go back down in the future as blocks fail. Which is slightly more worrying.
Did you find a solution?
Thanks,
Phil
from dhara.
Hey Phil,
Not a solution but as a patch you could just assign a fixed sector count and relay on that. I know it's not the best, but if you know exactly your use case and do sporadic writes it's not a big issue
from dhara.
Related Issues (20)
- Can dhara be detected by linux as a device file? HOT 1
- tests/jfill failure HOT 7
- Very aggressive garbage collection --- a configuration problem? HOT 6
- Performance Tuning HOT 7
- journal.c: cp_free does an illegal dhara_nand_is_free if on last group and none of the pages are free HOT 6
- DHARA+FATFS: boot sector is remapped without a copy HOT 12
- When the bad block appears in the read ECC error, dhara cannot be processed HOT 4
- example HOT 1
- Using a different GC ratio with an existing flash map HOT 2
- Garbage Collection Instrumentation HOT 2
- Using dhara for nor and nand flash - some questions HOT 5
- Using Dhara in Zephyr HOT 10
- Map Sync Time HOT 6
- `dhara_journal_enqueue` can fail with `DHARA_E_NONE` HOT 1
- `try_delete` sets an alt pointer twice
- Handling of ECC error HOT 1
- How to generate LLR for soft LDPC decoder in nand flash via multiple reads?
- gc fails if checkpoint page is corrupted
- Expected overheads / available capacity HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dhara.