Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Firmware Detection of Control/Store Memory Size

IP.com Disclosure Number: IPCOM000014567D
Original Publication Date: 2002-Jun-08
Included in the Prior Art Database: 2003-Jun-19
Document File: 1 page(s) / 36K

Publishing Venue

IBM

Abstract

A coding procedure is disclosed that dynamically detects memory size. This is different from the more commonly utilized method where memory size is obtained by reading values from a hardware device. First program the memory controller for the smallest supported size of memory. The second step of this procedure is to initialize memory. The preferred initialization pattern is where the address of each 32bit word is written into the similarily addressed memory location to ensure data uniqueness. For example, location 0xA0000004 is initialized with the value 0xA0000004. The third step is to program the memory controller to the next supported memory size. Now initialize the memory again as previously done, however, use the same size as the smallest supported.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 100% of the total text.

Page 1 of 1

Firmware Detection of Control/Store Memory Size

A coding procedure is disclosed that dynamically detects memory size. This is different from the more commonly utilized method where memory size is obtained by reading values from a hardware device.

First program the memory controller for the smallest supported size of memory.

The second step of this procedure is to initialize memory. The preferred initialization pattern is where the address of each 32bit word is written into the similarily addressed memory location to ensure data uniqueness. For example, location 0xA0000004 is initialized with the value 0xA0000004.

The third step is to program the memory controller to the next supported memory size. Now initialize the memory again as previously done, however, use the same size as the smallest supported.

The final step is to read the data from a location where the initialization value is known. If the expected value is returned, then the next larger memory size is present, otherwise, return the memory controller to the smaller size configuration.

1