It does not have dedicated RAM.
/******************************************************************************
* BUFFER DISCRIPTOR TABLE (BDT) DISCRIPTION *
******************************************************************************/
/**
* The USB-FS implements a Buffer Descriptor Table (BDT) in system memory. The
* BDT resides on a 512 byte boundary in system memory and is pointed to by the
* BDT Page Registers. Every endpoint direction requires two eight-byte Buffer
* Descriptor entries.Therefore, a system with 16 fully bidirectional endpoints
* would require 512 bytes of system memory to implement the BDT.The two Buffer
* Descriptor (BD) entries allows for an EVEN BD and ODD BD entry for each
* endpoint direction. This allows the microprocessor to process one BD while
* the USB-FS is processing the other BD. Double buffering BDs in this way
* allows the USB-FS to easily transfer data at the maximum throughput provided
* by USB.
* ...
This tells the USB module what 512 byte block to use:
/*
* Set address bits of the base address where the current Buffer
* Descriptor Table (BDT) resides in system memory.
* Must to be on 512 byte boundary.
* D8 Bit is masked in BDT_PAGE_01.
*/
USB0_BDTPAGE1 = ( ( uint8_t )( ( uint32_t ) bdt >> 8U ) & 0xFEU );
USB0_BDTPAGE2 = ( uint8_t )( ( uint32_t ) bdt >> 16U );
USB0_BDTPAGE3 = ( uint8_t )( ( uint32_t ) bdt >> 24U );
The KL USB module is a decedent of a ColdFire module which traces its linage back to some purchased IP from a third party. Many chips have similar module. The PIC32 data sheet does a better job explaining things in places of how it works. All of the register names are of course different.
http://ww1.microchip.com/downloads/en/DeviceDoc/61126F.pdf
Something to watch for in Linker scripts are something are specified in Words an other things in Bytes.
Happens more in 8-bit parts like the AVR.
However that does not appear to be the case for the two values you show.