Patent ID: 8176233
Filing Date: 2012-05-08
Classification: G06F,G11C

Abstract:
1. A computer-implemented method of facilitating access to stored data by a database application, the method comprising: maintaining, in a volatile main memory component, a buffer pool for a database application; writing a block of application data to a location on a non-volatile, asymmetric memory component; adding, to the buffer pool maintained in the volatile main memory component, a control portion that corresponds to the block of application data and that includes a reference to the location of the block of application data on the non-volatile, asymmetric memory component; receiving, from the database application, a request to access the block of application data; in response to receiving the request to access the block Of application data: accessing, from the buffer pool maintained in the volatile main memory component, the control portion that corresponds to the block of application data, based on accessing the control portion that corresponds to the block of application data from the buffer pool maintained in the volatile main memory component, identifying the location of the block of application data on the non-volatile, asymmetric memory component, and based on identifying the location of the block of application data on the non-volatile, asymmetric memory component, enabling the database application to access the block of application data directly from the non-volatile, asymmetric memory component; and after enabling the database application to access the block, of application data directly from the non-volatile, asymmetric memory component, estimating future need by the database application to access the block of application data; based on the estimated future need by the database application to access the block of application data, determining whether to add the block of application data to the buffer pool maintained in the volatile main memory component; responsive to a determination to add the block of application data to the buffer pool maintained in the volatile main memory component: adding the block of application data to the buffer pool maintained in the volatile main memory component, and updating the control portion that corresponds to the block of application data to reflect the addition of the block of application data to the buffer pool maintained in the volatile main memory component; and responsive to a determination not to add the block of application data to the buffer pool maintained in the volatile main memory component, maintaining the block of application data on the non-volatile, asymmetric memory component without adding the block of application data to the buffer pool maintained in the volatile main memory component.