Memory system with dynamically allocatable non-volatile storage capability
First Claim
1. A memory system connected between a host central processing unit and a mass storage device having non-volatile secondary storage media, the memory system configured to provide intermediate non-volatile storage to protect data blocks destined for storage on the secondary storage media against loss from a system power failure, said memory system comprising:
- a first subsystem of storage elements providing volatile storage of data blocks including the data blocks destined for storage on said secondary storage media;
a second subsystem of storage elements providing non-volatile storage of data blocks stored in said first subsystem which have not yet been stored on the secondary storage media, the block storage capacity of said second subsystem being substantially less than the block storage capacity of said first subsystem; and
a hardware mapping logic unit responsive to block shadow mapping commands from the central processing unit and coupled between said first and second subsystems for mapping block storage address locations of said first subsystem for said data blocks which have not yet been stored on the secondary storage media to block storage address locations of the second subsystem to enable the second subsystem automatically to shadow and store said blocks as said blocks are written by said host central processing unit to the mapped block storage locations of said first subsystem without requiring a separate write operation of said host central processing unit to said second subsystem.
6 Assignments
0 Petitions
Accused Products
Abstract
A memory system having volatile storage of data destined for secondary storage and smaller intermediate non-volatile storage of some of the data. The volatile memory is an array of DRAM storage devices integrated with the non-volatile memory array of SRAM devices by a mapping logic unit. The DRAM array stores all the data blocks destined for secondary storage. In contrast, the smaller SRAM array stores only the data requiring safe storage, which typically is a subset of the data stored in the DRAM array. The mapping logic unit manages the use of the SRAM array.
108 Citations
24 Claims
-
1. A memory system connected between a host central processing unit and a mass storage device having non-volatile secondary storage media, the memory system configured to provide intermediate non-volatile storage to protect data blocks destined for storage on the secondary storage media against loss from a system power failure, said memory system comprising:
-
a first subsystem of storage elements providing volatile storage of data blocks including the data blocks destined for storage on said secondary storage media; a second subsystem of storage elements providing non-volatile storage of data blocks stored in said first subsystem which have not yet been stored on the secondary storage media, the block storage capacity of said second subsystem being substantially less than the block storage capacity of said first subsystem; and a hardware mapping logic unit responsive to block shadow mapping commands from the central processing unit and coupled between said first and second subsystems for mapping block storage address locations of said first subsystem for said data blocks which have not yet been stored on the secondary storage media to block storage address locations of the second subsystem to enable the second subsystem automatically to shadow and store said blocks as said blocks are written by said host central processing unit to the mapped block storage locations of said first subsystem without requiring a separate write operation of said host central processing unit to said second subsystem. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A memory system of a computer including a central processing unit and a mass storage device providing non-volatile secondary storage media, the memory system configured to provide intermediate non-volatile storage of data destined for the secondary storage media during a computer power loss, said memory system comprising:
-
a dynamic random access memory (DRAM) array of storage elements apportioned into DRAM pages configured to provide volatile storage of data destined for said secondary storage media; a static random access memory (SRAM) array of storage elements apportioned into SRAM pages configured to provide non-volatile storage of data corresponding to selected data stored in said DRAM array, the storage capacity of said SRAM array being substantially less than the storage capacity of said DRAM array; a hardware mapping logic unit responsive to page shadow mapping commands from the central processing unit and coupled between said DRAM array and said SRAM array for mapping page storage locations of said DRAM array for said data pages which have not yet been stored on the secondary storage media to page storage locations of the SRAM array to enable the SRAM array automatically to shadow and store said pages simultaneously as said pages are written by said host central processing unit to the mapped page storage locations of said DRAM array without requiring a separate write operation of said host central processing unit to the SRAM array, said hardware mapping logic unit including; allocation determining means for determining if a particular one of said SRAM pages has been allocated to shadow a corresponding DRAM page; and valid data determining means for determining if said particular one of said SRAM pages contains valid data; whereby after the power loss, said data stored in said particular one of said SRAM pages is retrieved in response to said particular one of said SRAM pages having been allocated and said particular one of said SRAM pages having valid data. - View Dependent Claims (22, 23)
-
-
24. A method for protecting data pages against loss in a computing system which have been modified by a central processing unit before being written onto non-volatile media of a mass storage device connected to the central processing unit, the method comprising the steps of:
-
providing a dynamic random access memory (DRAM) array of storage elements apportioned into DRAM pages configured for volatile storage of data pages including the data pages destined for said secondary storage media; providing a battery-backed-up static random access memory (SRAM) array of storage elements apportioned into SRAM pages configured to provide non-volatile storage of the data pages stored in said DRAM array destined for said secondary storage media, the page storage capacity of said SRAM array being substantially less than the page storage capacity of said DRAM array; mapping with a mapping logic unit responsive to page shadow mapping commands from the central processing unit page storage locations of said DRAM array for said data pages which are destined for said secondary storage media to available page storage locations of the SRAM array, and writing in a single writing step said data pages to page storage locations of said DRAM array and thereby automatically writing said data pages to shadow data page storage locations of said SRAM array mapped to the same page storage locations of said DRAM array by said mapping step.
-
Specification