An integrated circuit (IC) memory device having an interface coupled with a
volatile random access memory (RAM) array and a nonvolatile flash memory
array. Data to be written from an external device to the IC memory device
is initially written to the volatile RAM array to provide for fast
execution of a write operation, and is then written from the volatile RAM
array to the nonvolatile flash memory array via the interface in a manner
that is relatively transparent to external devices and the user. The
interface may be configured to transfer data from the volatile RAM array
to the external device if a read request matches an address tag field
stored in the volatile RAM array. Data from first and second block
addresses in the volatile RAM array and flash memory array may be merged
in a flash merge buffer, and validity bits may be used to ensure that
potentially stale data in the flash memory array is not used and that data
coherency is maintained. Data may also be simultaneously written to or
read from the volatile RAM array during at least a portion of the time in
which data is being read from or written to the flash memory array. A
check may be made to ensure that the flash merge buffer is empty before
reading data from the flash memory array.
Un bloc de mémoires de circuit intégré (IC) ayant une interface couplée à une rangée volatile de mémoire à accès sélective (RAM) et à une rangée instantanée non-volatile de mémoire. Des données à écrire d'un dispositif externe au bloc de mémoires d'IC sont au commencement écrites à la rangée volatile de RAM pour prévoir l'exécution rapide d'une opération d'inscription, et sont alors écrites de la rangée volatile de RAM à la rangée instantanée non-volatile de mémoire par l'intermédiaire de l'interface en quelque sorte qui est relativement transparente aux dispositifs externes et à l'utilisateur. L'interface peut être configurée pour transférer des données à partir de la rangée volatile de RAM au dispositif externe si une demande lue assortit un champ d'étiquette d'adresse stocké dans la rangée volatile de RAM. Des données de d'abord et en second lieu des adresses de bloc dans la rangée volatile de RAM et la rangée de mémoire d'instantané peuvent être fusionnées dans un amortisseur instantané de fusion, et le peu de validité peut être employé pour s'assurer que des données potentiellement éventées dans la rangée instantanée de mémoire ne sont pas employées et que la concordance de données est maintenue. Les données peuvent également être simultanément écrites à ou lues de la rangée volatile de RAM pendant au moins une partie du temps du l'où des données sont lues ou écrites à la rangée instantanée de mémoire. Un contrôle peut être fait pour s'assurer que l'amortisseur instantané de fusion est vide avant que des données de lecture de la rangée instantanée de mémoire.