A method for automatically determining access parameters of a memory device, comprising: determining a bus width of the memory device; and determining a page size of the memory device, wherein the memory device is divided into sections, wherein each section size corresponds to the minimum possible page size of the device, wherein a number of consecutive sections are marked each with a first four byte word having a first magic number and a second four byte word having a second magic number in first and second adjacent locations in the memory device and a marker magic number in a third location, wherein determining the bus width comprises: reading a first four bytes from the first and second adjacent locations in an eight bit mode, wherein the 8 least significant bits from a memory location are read, and determining whether the first four bytes read from the memory device correspond to the first four byte word or to an interleaving of the first four byte word and the second four byte word, wherein if the first four bytes read from the memory device correspond to the first byte word, the bus width is determined to be 8 bits, or if the first four bytes read from the memory size correspond to an interleaving of the first and second four bytes words, the bus width is determined to be more than 8 bits, and wherein determining a page size of the memory device comprises: receiving maximum and minimum possible page sizes of the memory device, determining the number of sections marked with magic numbers by computing a ratio of the maximum possible page size and the minimum possible page size; reading sequentially a number of pages up to the number of sections marked with magic numbers, starting with the location of the first marked section, until the magic number is not detected in a page; detecting a number of pages having the marker magic number, and determining the page size of the memory device by computing a ratio of the maximum page size and the detected number of pages with the marker magic number. determining a bus width of the memory device; and determining a page size of the memory device, wherein the memory device is divided into sections, wherein each section size corresponds to the minimum possible page size of the device, wherein a number of consecutive sections are marked each with a first four byte word having a first magic number and a second four byte word having a second magic number in first and second adjacent locations in the memory device and a marker magic number in a third location, wherein determining the bus width comprises: reading a first four bytes from the first and second adjacent locations in an eight bit mode, wherein the 8 least significant bits from a memory location are read, and determining whether the first four bytes read from the memory device correspond to the first four byte word or to an interleaving of the first four byte word and the second four byte word, reading a first four bytes from the first and second adjacent locations in an eight bit mode, wherein the 8 least significant bits from a memory location are read, and determining whether the first four bytes read from the memory device correspond to the first four byte word or to an interleaving of the first four byte word and the second four byte word, wherein if the first four bytes read from the memory device correspond to the first byte word, the bus width is determined to be 8 bits, or if the first four bytes read from the memory size correspond to an interleaving of the first and second four bytes words, the bus width is determined to be more than 8 bits, and wherein determining a page size of the memory device comprises: receiving maximum and minimum possible page sizes of the memory device, determining the number of sections marked with magic numbers by computing a ratio of the maximum possible page size and the minimum possible page size; reading sequentially a number of pages up to the number of sections marked with magic numbers, starting with the location of the first marked section, until the magic number is not detected in a page; detecting a number of pages having the marker magic number, and determining the page size of the memory device by computing a ratio of the maximum page size and the detected number of pages with the marker magic number. receiving maximum and minimum possible page sizes of the memory device, determining the number of sections marked with magic numbers by computing a ratio of the maximum possible page size and the minimum possible page size; reading sequentially a number of pages up to the number of sections marked with magic numbers, starting with the location of the first marked section, until the magic number is not detected in a page; detecting a number of pages having the marker magic number, and determining the page size of the memory device by computing a ratio of the maximum page size and the detected number of pages with the marker magic number.