EP0444885B1

A method for controlling a buffer memory for a magnetic disk storage system

Abstract

This record has no abstract on file.

EP0444885B1, drawing sheet 1
Sheet 1 of 15

Term

Term ended

Expired 26 February 2011, 15.6 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

14 claims: 12 independent, 2 dependent

  1. 1
    A method for temporarily storing and retrieving q -bit character information data for an information storage system in a y-bit wide buffer memory unit comprising a plurality of DRAMS, with q being greater than y, characterised by:providing a virtual memory address for each item of q -bit character information data, said character information data being organised into a block comprising z said information characters;translating the virtual memory addresses into corresponding addresses of memory locations in said buffer memory unit for storage of y-bit groups of said block in said buffer memory unit, said translating step including selecting a row address for storage of said block, selecting a base column address for said block, and successively incrementing said base column address to provide additional column addresses for successive y-bit groups of said block;transferring each of said y-bit groups of said block via a y-bit data bus to an address location in said buffer memory unit determined by said translating step;providing a x-bit error detection code word for each said block;selecting an address for storing said x-bit error detection code word in said buffer memory unit;said selecting an address including: selecting an error detection code word row address;selecting an error detection code word base column address for a first y-bit group of said x-bit error detection code word;incrementing said error detection code word base column address by y to provide a second column address for a second y-bit group of said x-bit error detection code word;and transferring said error detection code word via said y-bit data bus to the selected address locations for said x-bit error detection code word in said buffer memory unit.
  2. 3
    A method as claimed in either claim 1 or 2, in which translating the virtual memory address includes selecting the row and column address using multiplexer circuits.
  3. 4
    A method as claimed in any one of claims 1 to 3, further comprising latching the row and column addresses into latch circuits, and wherein successively incrementing said base column address includes coupling outputs from the latch circuits via multiplexing circuits coupled to the inputs of the latch circuits.
  4. 5
    A method as claimed in any one of claims 1 to 4, in which the buffer memory unit comprises a DRAM operating in a page mode.
  5. 6
    A method as claimed in any one of claims 1 to 4, in which the buffer memory unit comprises a DRAM operating in a static column mode.
  6. 7
    A method as claimed in any one of claims 1 to 6, in which transferring said error detection code word includes forming an address for each provided said error detection code word from said base address of said block of data by right-shifting said base address of said block of data by a pre-determined number of bits and filling the thus-vacated upper bit positions with a fixed bit pattern.
  7. 8
    A method as claimed in any one of the preceding claims, in which q is 8, x is 8, y is 4 and z is 16.
  8. 9
    A method as claimed in any one of the preceding claims, in which said information storage system includes a magnetic disk.
  9. 10
    A method for temporarily storing and retrieving q -bit character information data for an information storage system in a y-bit wide buffer memory unit comprising a plurality of DRAMS, with q being greater than y, characterised by:providing a virtual memory address for each item of q -bit character information data, said character information data being organised into a block comprising z said information characters;translating the virtual memory addresses into corresponding addresses of memory locations in said buffer memory unit for storage of y-bit groups of said block in said buffer memory unit, said translating step including selecting a row address for storage of said block, selecting a base column address for said block, latching said row and base column addresses into latch circuits, and successively incrementing said base column address to provide additional column addresses for successive y-bit groups of said block by coupling outputs of said latch circuits via multiplexing circuits coupled to inputs of said latch circuits to increment said column addresses;and transferring each of said y-bit groups of said block via a y-bit data bus to an address location in said buffer memory unit determined by said translating step.
  10. 12
    A method as claimed in any one of the preceding claims, in which successively incrementing said base column address to provide additional column addresses for successive y-bit groups of said block comprises successively incrementing said base column address by y to provide additional column addresses for successive y-bit groups of said block.
  11. 13
    A method as claimed in any one of claims 10, 11 and 12 when dependent upon claim 11, in which selecting an error detection code word row address comprises:selecting an error detection code word row address different from said row address selected for storage of said block;and selecting an error detection code word comprises selecting an error detection code word base column address for a first y-bit group of said x-bit error detection code word different from said selected block base column address;said character information being stored substantially contiguously in said buffer memory unit;and said error detection code words being stored substantially contiguously in said buffer memory unit and separate from said character information data to which said error detection code words pertain.
  12. 14
    A method as claimed in any one of claims 1 to 13, in which said q -bit character information consists of 8-bit character information data, said character information being organised into 16-byte blocks, said y-bit wide buffer memory consists of 4-bit wide DRAM, and said x-bit error detection code word consists of an 8-bit code word.