Patent ID: 9158708
Filing Date: 2015-10-13
Classification: G06F

Abstract:
1. A nonvolatile memory module, comprising: a plurality of input/output (I/O) modules, each I/O module configured to communicate with an external device over one or more external communication links; an intelligent cross-bar switching element connected to and in communication with one or more of the I/O modules, the intelligent cross-bar switching element configured to store data across multiple nonvolatile memory cards in the form of inter-card card stripes, each inter-card card stripe comprising a plurality of pages, including data pages and a data protection page, and each of the plurality of pages in the inter-card card stripe being stored in a nonvolatile memory card that is different from the nonvolatile memory cards in which the other pages in the inter-card card stripe are stored, the intelligent cross-bar switching element further configured to: (a) receive a READ or WRITE request from one of the I/O modules, the READ or WRITE request including a logical block address (LBA) reflecting a logical address to which data is to be written for a WRITE request or from which data is to be read for a READ request; (b) generate a second-level LBA (SLBA) upon receiving the READ or WRITE request, wherein the intelligent cross-bar switching element is configured to generate the SLBA by dividing the LBA by the total number of data pages in the inter-card card stripe and setting the SLBA equal to the integer of a quotient resulting from the division; (c) for a WRITE request, generate inter-card data protection information (ICDPI) for an inter-card card stripe to be stored during a WRITE operation, the ICDPI allowing errors encountered during a READ operation of the inter-card card stripe to be corrected; (d) for a READ request, process ICDPI for an inter-card card stripe to correct errors encountered during a READ operation of the inter-card card stripe; and (e) provide the SLBA and the READ or WRITE request to one or more of the nonvolatile memory cards for use as an intra-card LBA internally therein.