IP Library Granted Patent US 8,122,181
Granted Patent B2
US 8,122,181 · App. 12/270,616 · Granted Feb 21, 2012

Systems and methods for enhancing a data store for handling semantic information

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,122,181
App. No.
12/270,616
Granted
Feb 21, 2012
Kind
B2
Abstract

Systems ( 100 ) and methods ( 300 ) for enhancing a data store (DS) addressable at a block level and interfaced with a host device (HD) via a memory controller (MC), which may comprise a VMCC ( 110, 210 ). The methods involve receiving an access operation (AO) from HD ( 104 ) at MC. In response to receiving the AO, plug-ins ( 232 ) are invoked. The plug-ins include a pre-processing plug-in ( 232 4 ) for facilitating an indexing function of MC and/or a post-processing plug-in ( 232 5 ) for facilitating a monitoring function of MC. The methods also involve accessing DS ( 106, 206 ) to read a bock of data therefrom, write the block of data thereto, or erase the block of data therefrom in accordance with the AO. The methods further involve obtaining post-processing information about the AO in response to an invocation of the post-processing plug-in and updating a log-file ( 224 ) stored in the DS with the post-processing information.

Claims (43)

1. A method for enhancing a data store addressable at a block level, comprising acts of:

receiving at a memory controller an access operation communicated from a host device that is interfaced with the data store via the memory controller:

in response to receiving the access operation, facilitating a monitoring function of the memory controller by invoking a post-processing plug-in;

accessing the data store in accordance with the access operation, said accessing act including reading a block of data from the data store, writing the block of data to the data store, or erasing the block of data from the data store;

obtaining post-processing information about the access operation in response to invoking the post-processing plug-in;

updating a log-file stored in the data store with the post-processing information; and

performing a copy detection operation using the post-processing information when the access operation is a read block operation.

2. The method according to claim 1 , wherein the act of performing a copy detection operation further includes using the post-processing information to infer if a file to which the information contained in the read block operation belongs is being copied.

3. The method according to claim 2 , wherein the act of performing a copy detection operation further includes taking at least one remedial measure if it is inferred that the file is being copied.

4. The method according to claim 1 , further comprising the act of performing a delete operation if the access operation is an erase block operation.

5. A method for enhancing a data store addressable at a block level, comprising acts of:

receiving at a memory controller an access operation communicated from a host device that is interfaced with the data store via the memory controller;

in response to receiving the access operation, facilitating a monitoring function of the memory controller by invoking a post-processing plug-in;

accessing the data store in accordance with the access operation, said accessing act including reading a block of data from the data store, writing the block of data to the data store, or erasing the block of data from the data store;

obtaining post-processing information about the access operation in response to invoking the post-processing plug-in;

updating a log-file stored in the data store with the post-processing information; and

performing a delete operation if the access operation is an erase block operation, wherein the act of performing a delete operation further includes using the post-processing information to determine if the block of data is a specific type of block and erasing a first sector to which the block of data belongs if the block of data is determined to be the specific type of block.

6. The method according to claim 5 , wherein the act of performing a delete operation further includes copying a plurality of remaining blocks of the first sector to a second sector of the data store prior to erasing the first sector.

7. The method according to claim 5 , further comprising the act of facilitating an indexing operation of the memory controller by invoking a pre-processing plug-in when the access operation is a write block operation.

8. The method according to claim 7 , further comprising the act of updating indexing information of the log-file with semantic information about data included in the access operation, in response to an invocation of the pre-processing plug-in.

9. A method for enhancing a flash memory addressable at a block level, comprising acts of:

receiving at a virtual memory card controller an access operation communicated from a host device that is interfaced with the data store via the virtual memory card controller;

in response to receiving the access operation, facilitating at least a monitoring function of the virtual memory card controller by invoking at least one plug-in;

accessing the data store in accordance with the access operation, said accessing act including reading a block of data from the data store, writing the block of data to the data store, or erasing the block of data from the data store;

obtaining post-processing information about the access operation in response to invoking the plug-in;

updating a log-file stored in the data store with the post-processing information; and

performing at the virtual memory card controller a copy detection operation, a secure delete operation, or a data reorganization operation using the post-processing information of the log-file.

10. A system, comprising:

a data store addressable at a block level; and

a memory controller configured to receive an access operation communicated from a host device interfaced with the data store, invoke one or more plug-ins in response to receiving the access operation, access the data store in accordance with the access operation, obtain post-processing information about the access operation in response to an invocation of the one or more plug-ins, and update a log-file stored in the data store with the post-processing information;

wherein the plug-ins include at least one of a pre-processing plug-in to facilitate an indexing function of the memory controller or a post-processing plug-in to facilitate a monitoring function of the memory controller, and wherein the memory controller is further configured to perform a copy detection operation using the post-processing information when the access operation is a read block operation.

11. The system according to claim 10 , wherein the memory controller comprises at least one means for advertising a special object to a file system of the host device, receiving the access operation directed to the special object, and calling at least one application to handle the access operation.

12. The system according to claim 10 , wherein the data store is a flash memory.

13. The system according to claim 10 , wherein the memory controller is further configured to

use the post-processing information to infer if a file to which the information contained in the read block operation belongs is being copied, and

take at least one remedial measure if it is inferred that the file is being copied.

14. The system according to claim 10 , wherein the memory controller is further configured to perform a delete operation if the access operation is an erase block operation.

15. A system, comprising:

a data store addressable at a block level; and

a memory controller configured to receive an access operation communicated from a host device interfaced with the data store, invoke one or more plug-ins in response to receiving the access operation, access the data store in accordance with the access operation, obtain post-processing information about the access operation in response to an invocation of the one or more plug-ins, and update a log-file stored in the data store with the post-processing information;

wherein the plug-ins include at least one of a pre-processing plug-in to facilitate an indexing function of the memory controller or a post-processing plug-in to facilitate a monitoring function of the memory controller, and wherein the memory controller is further configured to erase a first sector to which the block of data belongs if the block of data is a specific type of block.

16. The system according to claim 15 , wherein the memory controller is further configured to copy a plurality of remaining blocks of the first sector to a second sector of the data store prior to erasing the first sector.

17. The system according to claim 15 , wherein the memory controller is further configured to update indexing information of the log-file with semantic information about data included in the access operation, in response to an invocation of the pre-processing plug-in when the access operation is a write operation.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2016
From: CYPRESS SEMICONDUCTOR CORPORATION
To: MONTEREY RESEARCH, LLC
Reel/Frame 040911/0238 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 11, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
Reel/Frame 039708/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2015
From: SPANSION, LLC
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 036051/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Dec 30, 2014
From: BARCLAYS BANK PLC
To: SPANSION LLC; SPANSION INC.; SPANSION TECHNOLOGY INC.; SPANSION TECHNOLOGY LLC
Reel/Frame 034715/0305 →
SECURITY AGREEMENT Recorded Aug 23, 2012
From: SPANSION LLC; SPANSION INC.; SPANSION TECHNOLOGY INC.; SPANSION TECHNOLOGY LLC
To: BARCLAYS BANK PLC
Reel/Frame 028840/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2008
From: VASILIEVNA, TRICHINA ELENA; CHRISTOPHE, CARVOUNAS; BAUCH, FLORIAN
To: SPANSION LLC
Reel/Frame 021990/0966 →