Synth Forum

Notifications
Clear all

MODX Wave memory (vs. Montage)

5 Posts
4 Users
0 Likes
2,510 Views
Michel
Posts: 0
Eminent Member
Topic starter
 

Great to see Paul doing another in-depth hardware analysis:

http://sandsoftwaresound.net/yamaha-modx-inside-stuff/

The elephant in the room that wasn't pointed out is that the MODX also has the same 4GB of wave memory (4x 1GB NAND chips) as the Montage. The eMMC flash is also the same for the CPU but that's a moot point.

I can't think of any obvious reason that the MODX couldn't address 1.75GB of user memory - thus bringing it on par with the Montage's capacity.

After all, the user wave memory sits alongside the factory presets in the same flash chips and it's arguably not a matter of requiring more processing power to play them since polyphony in unchanged.

Right?

 
Posted : 09/11/2019 2:32 pm
Posts: 0
Eminent Member
 

Marketing decision most likely. When designing the MODX to a price point, they had to make the more expensive Montage worth the added cost, so they downspecced some things in the MODX... the keybed quality, controls, lack of aftertouch, FM-X polyphony, and... the amount of waveform storage available.

The article states that the MODX's eMMC clock is slower than the Montage's as well... maybe that is a factor as well?

I suppose, if they really wanted to, they could offer more user waveform storage in a firmware update, given that there's sufficient NAND on board.

I found it interesting that both the Montage and MODX boards have unpopulated spaces, meaning upgraded models in the future perhaps, using the same basic platform.

 
Posted : 09/11/2019 10:47 pm
Jason
Posts: 7909
Illustrious Member
 

READ_SINGLE_BLOCK and READ_MULTIPLE_BLOCK for eMMC are both passed a 32-bit address which allows for random access of the part. Similarly, WRITE_BLOCK and WRITE_MULTIPLE_BLOCKS are both passed a 32-bit address. Therefore, if you were using the first blocks vs. the last blocks of an eMMC part - the access time is no longer for the 1st vs last blocks given the same clock speed. The slower clock doesn't make the eMMC part somehow less randomly accessible. Low blocks are "the same" as high. That's at a low level. You could also super-impose some filesystem that has to read many blocks of some table and other information that could impact the effective read time of non-table data (the "actual" data). And if the "table" area got too big - you may blow out timing. So this is where possibly raw read speed would limit you. That's a bit like shooting yourself in the foot to make a self-imposed limit like that. So maybe you're right - but it doesn't have to be that way. Who knows how the eMMC is actually implemented without some bus diving or the dev. code.

Another possibility in the slower clock is that Montage was the first pancake - so they gave themselves lots of margin to hit timing targets. Code was optimized and more "baked" - so the second batch of pancakes (MODX) was known not to need the faster clock to meet timing. Slowed down the clock to reduce emission/interference related issues to enable a cheaper enclosure without a Faraday cage around it which can be expensive if you have to go there. Also may have allowed for some tighter spacing between signals, less issues with crosstalk, etc. The ripple effect of faster clocks is fairly substantial to layout and even component choices (if going through interconnects).

This is all speculation - just throwing out another possibility.

I guess another possibility is that both have the same memory - but the compression is different between the two. MODX maybe has "less" compression. Both that it takes less time budget to decompress on-the-fly and also happens to take up more space in memory. So, in turn, the eMMC clock can be dialed down (which has the above benefits described, in part) since decompression takes shorter - you can take longer to read the raw blocks.

 
Posted : 10/11/2019 6:26 am
Michel
Posts: 0
Eminent Member
Topic starter
 

Re. less compression: lower compression for the factory presets while maintaining the same higher compression for commercial WXC user libraries would be a bit, uhh, weird. One could conceivably fill 16 parts with user libraries that have WXC compression which would otherwise require just as much CPU power.

This is of course assuming WXC user libraries are 1) as compressed as much the factory presets - or even even the same format! - and 2) require the same CPU power to decompress.

 
Posted : 10/11/2019 10:21 am
 Paul
Posts: 0
Active Member
 

Hi folks --

Hope you found the info to be useful.

I noticed that the specific Micro Technology eMMC device first used in Montage is now "obsolete", meaning out of production. The eMMC device in MODX is new and is probably the replacement. I don't think the difference in eMMC bus speed is functionally significant at the user level.

Sample compression WRT eMMC is not relevant. Samples (waveforms) are written into the WAVE memory (ONFI NAND flash) which communicates directly with the SWP70 tone generator (not the CPU). The SWP70 uncompresses the samples on-the-fly. The purpose of sample compression, after all, is to maximize the use of WAVE memory. Should improve bandwidth into the tone generator, too.

Yamaha buys these things in quantity. They no doubt try to get the best price that they can and try to use common components across product lines.

MODX should have exactly the same WAVE memory image as Montage. Yep, there is probably some free space in the WAVE memory, but given the price of MODX, I sleep OK. 😀

I included a few more direct links (below) in case anyone is interested in Montage and Genos, too.

All the best -- pj

http://sandsoftwaresound.net/yamaha-modx-inside-stuff/
http://sandsoftwaresound.net/yamaha-montage-internals-revisted/
http://sandsoftwaresound.net/yamaha-genos-main-cpu/
http://sandsoftwaresound.net/yamaha-genos-tone-generation/

 
Posted : 11/11/2019 11:32 pm
Share:

© 2024 Yamaha Corporation of America and Yamaha Corporation. All rights reserved.    Terms of Use | Privacy Policy | Contact Us